aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr38926.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr38926.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr38926.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr38926.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr38926.c
new file mode 100644
index 000000000..9c71a798c
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr38926.c
@@ -0,0 +1,41 @@
+static inline int foo (unsigned _si1)
+{
+ if (_si1 != 0)
+ if (_si1 > 2147483647)
+ return 1;
+ return 0;
+}
+
+static inline unsigned bar (unsigned _left, int _right)
+{
+ return (unsigned) _right >= 8 ? 1 : _left >> _right;
+}
+
+unsigned g_2;
+unsigned g_67;
+volatile unsigned g_162;
+
+static inline int func_62 (unsigned p_63)
+{
+ p_63 = g_2 & g_67;
+ if (g_2)
+ ;
+ else if (p_63)
+ return 1;
+ g_67 = bar (p_63, g_2);
+ return 0;
+}
+
+unsigned baz (void)
+{
+ if (g_2)
+ for (; g_2 <= -16; g_2 = foo (g_2))
+ {
+ for (; g_162; g_162)
+ func_62 (func_62 (0));
+ if (g_67)
+ break;
+ }
+ return g_2;
+}
+