diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/torture/pr44977.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr44977.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr44977.c b/gcc/testsuite/gcc.dg/torture/pr44977.c new file mode 100644 index 000000000..66fd7d1bf --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr44977.c @@ -0,0 +1,41 @@ +/* { dg-do compile } */ +/* { dg-options "-w" } */ + +static unsigned short +foo (unsigned short ui1, unsigned short ui2) +{ + return ui1 - ui2; +} + +static unsigned short +bar (unsigned ui1, unsigned short ui2) +{ + return ui1 + ui2; +} + +struct S1 +{ + const short f3; +}; +int g_31; +short g_67; +struct S1 g_68[2][5][9][1][1] = { +}; + +int func_90 (int); + +int int329 (int * const *const int32p_81, short ** p_82) +{ + short l_169[8]; + for (g_31 = 0; g_31 <= 0; g_31 = foo (g_31, 1)) + { + short l_85; +lbl_89:g_67 ^= l_85; + for (l_85 = 0; l_85 >= 0; l_85 = bar) + if (g_31) + goto lbl_89; + func_90 (1), g_68[0][2][2][0][0].f3, 0; + } + return l_169[6]; +} + |