problematic 64bit test
[libfirm] / ir / be / test / gnu_def.c
1 unsigned int gnu_dev_major (unsigned long long int __dev)
2 {
3   return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
4 }
5
6 unsigned int gnu_dev_minor (unsigned long long int __dev)
7 {
8   return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
9 }
10
11 unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor)
12 {
13   return ((__minor & 0xff) | ((__major & 0xfff) << 8)
14       | (((unsigned long long int) (__minor & ~0xff)) << 12)
15       | (((unsigned long long int) (__major & ~0xfff)) << 32));
16 }