aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr49049.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr49049.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr49049.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr49049.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr49049.c
new file mode 100644
index 000000000..a24b2a41c
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr49049.c
@@ -0,0 +1,28 @@
+__extension__ typedef unsigned long long int uint64_t;
+
+static int
+sub (int a, int b)
+{
+ return a - b;
+}
+
+static uint64_t
+add (uint64_t a, uint64_t b)
+{
+ return a + b;
+}
+
+int *ptr;
+
+int
+foo (uint64_t arg1, int *arg2)
+{
+ int j;
+ for (; j < 1; j++)
+ {
+ *arg2 |= sub ( sub (sub (j || 1 ^ 0x1, 1), arg1 < 0x1 <=
+ sub (1, *ptr & j)),
+ (sub ( j != 1 || sub (j && j, 1) >= 0,
+ add (!j > arg1, 0x35DLL))));
+ }
+}