From: Jakub Jelinek Date: Fri, 30 Aug 2019 11:16:10 +0000 (+0200) Subject: backport: re PR tree-optimization/71109 (gcc ICE at -O3 on valid code on x86_64-linux... X-Git-Tag: releases/gcc-7.5.0~288 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee9212971fb4716a9f2aac1a5072da8a42668a07;p=thirdparty%2Fgcc.git backport: re PR tree-optimization/71109 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in "maybe_record_trace_start") Backported from mainline 2018-12-03 Jakub Jelinek PR tree-optimization/71109 * gcc.c-torture/compile/pr71109.c: New test. From-SVN: r275073 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 66ee296238b4..b6520ca6fa4c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,6 +1,11 @@ 2019-08-30 Jakub Jelinek Backported from mainline + 2018-12-03 Jakub Jelinek + + PR tree-optimization/71109 + * gcc.c-torture/compile/pr71109.c: New test. + 2018-11-30 Jakub Jelinek PR debug/85550 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr71109.c b/gcc/testsuite/gcc.c-torture/compile/pr71109.c new file mode 100644 index 000000000000..f86ba60d78de --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr71109.c @@ -0,0 +1,31 @@ +/* PR tree-optimization/71109 */ + +struct S { int g, h; signed char i; int j; signed char k; int l[4]; } a, c; +struct T { signed char g; } e; +int *b, d; +static void foo (); + +void +bar (void) +{ + while (d) + { + int k; + struct T f[3]; + foo (bar, a); + for (k = 0;; k++) + f[k] = e; + } +} + +static inline void +foo (int x, struct S y, struct T z) +{ + for (z.g = 2; z.g; z.g--) + { + c = a = y; + *b |= 6; + if (y.g) + break; + } +}