OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [980526-2.c] - Diff between revs 149 and 154

Only display areas with differences | Details | Blame | View Log

Rev 149 Rev 154
typedef unsigned int dev_t;
typedef unsigned int dev_t;
typedef unsigned int kdev_t;
typedef unsigned int kdev_t;
 
 
static inline kdev_t to_kdev_t(int dev)
static inline kdev_t to_kdev_t(int dev)
{
{
        int major, minor;
        int major, minor;
 
 
        if (sizeof(kdev_t) == 16)
        if (sizeof(kdev_t) == 16)
                return (kdev_t)dev;
                return (kdev_t)dev;
        major = (dev >> 8);
        major = (dev >> 8);
        minor = (dev & 0xff);
        minor = (dev & 0xff);
        return ((( major ) << 22 ) | (  minor )) ;
        return ((( major ) << 22 ) | (  minor )) ;
 
 
}
}
 
 
void do_mknod(const char * filename, int mode, kdev_t dev)
void do_mknod(const char * filename, int mode, kdev_t dev)
{
{
        if (dev==0x15800078)
        if (dev==0x15800078)
                exit(0);
                exit(0);
        else
        else
                abort();
                abort();
}
}
 
 
 
 
char * getname(const char * filename)
char * getname(const char * filename)
{
{
        register unsigned int a1,a2,a3,a4,a5,a6,a7,a8,a9;
        register unsigned int a1,a2,a3,a4,a5,a6,a7,a8,a9;
        a1 = (unsigned int)(filename) *5 + 1;
        a1 = (unsigned int)(filename) *5 + 1;
        a2 = (unsigned int)(filename) *6 + 2;
        a2 = (unsigned int)(filename) *6 + 2;
        a3 = (unsigned int)(filename) *7 + 3;
        a3 = (unsigned int)(filename) *7 + 3;
        a4 = (unsigned int)(filename) *8 + 4;
        a4 = (unsigned int)(filename) *8 + 4;
        a5 = (unsigned int)(filename) *9 + 5;
        a5 = (unsigned int)(filename) *9 + 5;
        a6 = (unsigned int)(filename) *10 + 5;
        a6 = (unsigned int)(filename) *10 + 5;
        a7 = (unsigned int)(filename) *11 + 5;
        a7 = (unsigned int)(filename) *11 + 5;
        a8 = (unsigned int)(filename) *12 + 5;
        a8 = (unsigned int)(filename) *12 + 5;
        a9 = (unsigned int)(filename) *13 + 5;
        a9 = (unsigned int)(filename) *13 + 5;
        return (char *)(a1*a2+a3*a4+a5*a6+a7*a8+a9);
        return (char *)(a1*a2+a3*a4+a5*a6+a7*a8+a9);
}
}
 
 
int sys_mknod(const char * filename, int mode, dev_t dev)
int sys_mknod(const char * filename, int mode, dev_t dev)
{
{
        int error;
        int error;
        char * tmp;
        char * tmp;
 
 
        tmp = getname(filename);
        tmp = getname(filename);
        error = ((long)( tmp )) ;
        error = ((long)( tmp )) ;
        do_mknod(tmp,mode,to_kdev_t(dev));
        do_mknod(tmp,mode,to_kdev_t(dev));
        return error;
        return error;
}
}
 
 
int main(void)
int main(void)
{
{
        if (sizeof (int) < 4)
        if (sizeof (int) < 4)
          exit (0);
          exit (0);
 
 
        return sys_mknod("test",1,0x12345678);
        return sys_mknod("test",1,0x12345678);
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.