URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [921029-1.c] - Rev 688
Compare with Previous | Blame | View Log
typedef unsigned long long ULL; ULL back; ULL hpart, lpart; ULL build(long h, long l) { hpart = h; hpart <<= 32; lpart = l; lpart &= 0xFFFFFFFFLL; back = hpart | lpart; return back; } main() { if (build(0, 1) != 0x0000000000000001LL) abort(); if (build(0, 0) != 0x0000000000000000LL) abort(); if (build(0, 0xFFFFFFFF) != 0x00000000FFFFFFFFLL) abort(); if (build(0, 0xFFFFFFFE) != 0x00000000FFFFFFFELL) abort(); if (build(1, 1) != 0x0000000100000001LL) abort(); if (build(1, 0) != 0x0000000100000000LL) abort(); if (build(1, 0xFFFFFFFF) != 0x00000001FFFFFFFFLL) abort(); if (build(1, 0xFFFFFFFE) != 0x00000001FFFFFFFELL) abort(); if (build(0xFFFFFFFF, 1) != 0xFFFFFFFF00000001LL) abort(); if (build(0xFFFFFFFF, 0) != 0xFFFFFFFF00000000LL) abort(); if (build(0xFFFFFFFF, 0xFFFFFFFF) != 0xFFFFFFFFFFFFFFFFLL) abort(); if (build(0xFFFFFFFF, 0xFFFFFFFE) != 0xFFFFFFFFFFFFFFFELL) abort(); exit(0); }