aboutsummaryrefslogtreecommitdiff
path: root/tests/runner.py
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-11-26 21:14:00 -0800
committerAlon Zakai <alonzakai@gmail.com>2011-11-26 21:14:00 -0800
commit81f82a6a0dd932344027a408ff7bf905de1d2e52 (patch)
tree9adc497b6b30f205f3ba25f03d92f81ff3eeed62 /tests/runner.py
parent3338428a606b6a0bd2fe71d915cc2e95b373ee1f (diff)
fixes for 64-bit values in globals in i64 mode 1
Diffstat (limited to 'tests/runner.py')
-rw-r--r--tests/runner.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/runner.py b/tests/runner.py
index f08c747b..884c0b94 100644
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -426,6 +426,16 @@ if 'benchmark' not in str(sys.argv):
return x < 3;
}
+ struct IUB {
+ int c;
+ long long d;
+ };
+
+ IUB iub[] = {
+ { 55, 17179869184 },
+ { 122, 25769803776 },
+ };
+
int main()
{
int64_t x1 = 0x1234def123450789ULL;
@@ -446,6 +456,9 @@ if 'benchmark' not in str(sys.argv):
modifier2(t);
printf("*%Ld*\n", t);
+ // global structs with i64s
+ printf("*%d,%Ld*\n*%d,%Ld*\n", iub[0].c, iub[0].d, iub[1].c, iub[1].d);
+
// Basic (rounded, for now) math. Just check compilation.
int64_t a = 0x1234def123450789ULL;
a--; if (truthy()) a--; // confuse optimizer
@@ -458,7 +471,8 @@ if 'benchmark' not in str(sys.argv):
'''
self.do_run(src, '*1311918518731868200\n0,0,0,1,1\n1,0,1,0,1*\n*245127260211081*\n*245127260209443*\n' +
'*18446744073709552000*\n*576460752303423500*\n' +
- 'm1: 127\n*123*\n*127*\n')
+ 'm1: 127\n*123*\n*127*\n' +
+ '*55,17179869184*\n*122,25769803776*\n')
Settings.CORRECT_SIGNS = 1