diff options
Diffstat (limited to 'gdb/testsuite/gdb.base/long_long.c')
-rw-r--r-- | gdb/testsuite/gdb.base/long_long.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/long_long.c b/gdb/testsuite/gdb.base/long_long.c new file mode 100644 index 0000000000..096528d1d2 --- /dev/null +++ b/gdb/testsuite/gdb.base/long_long.c @@ -0,0 +1,55 @@ +/* Test long long expression; test printing in general. + * + * /CLO/BUILD_ENV/Exports/cc -g +e -o long_long long_long.c + * + * or + * + * cc +e +DA2.0 -g -o long_long long_long.c + */ + +long long callee( i ) +long long i; +{ + register long long result; + + result = 0x12345678; + result = result << i; + result += 0x9abcdef0; + + return result; +} + +int known_types() +{ + long long bin = 0, oct = 0, dec = 0, hex = 0; + + /* Known values, filling the full 64 bits. + */ + bin = 0x123456789abcdefLL; /* 64 bits = 16 hex digits */ + oct = 01234567123456701234567LL; /* = 21+ octal digits */ + dec = 12345678901234567890LL; /* = 19+ decimal digits */ + + /* Stop here and look! + */ + hex = bin - dec | oct; +} + +int main() { + + register long long x, y; + register long long i; + + x = (long long) 0xfedcba9876543210LL; + y = x++; + x +=y; + i = 11; + x = callee( i ); + y += x; + + known_types(); + + return 0; +} + + + |