https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64511
--- Comment #8 from Zhendong Su <su at cs dot ucdavis.edu> ---
(In reply to Jakub Jelinek from comment #7)
> Note, this problem went away with r219646. Shall we declare it as fixed or
> at least turn into non-regression?
Jakub, the original unreduced test still fails with r219909. Below is another
reduced test that causes the same ICE.
$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 5.0.0 20150120 (experimental) [trunk revision 219909] (GCC)
$
$ gcc-trunk -O3 -g -c small.c
gcc-trunk: internal compiler error: Segmentation fault (program cc1)
0x40c27f execute
../../gcc-trunk/gcc/gcc.c:2913
0x40c589 do_spec_1
../../gcc-trunk/gcc/gcc.c:4846
0x40eb87 process_brace_body
../../gcc-trunk/gcc/gcc.c:6129
0x40eb87 handle_braces
../../gcc-trunk/gcc/gcc.c:6043
0x40d587 do_spec_1
../../gcc-trunk/gcc/gcc.c:5500
0x40eb87 process_brace_body
../../gcc-trunk/gcc/gcc.c:6129
0x40eb87 handle_braces
../../gcc-trunk/gcc/gcc.c:6043
0x40d587 do_spec_1
../../gcc-trunk/gcc/gcc.c:5500
0x40c913 do_spec_1
../../gcc-trunk/gcc/gcc.c:5615
0x40eb87 process_brace_body
../../gcc-trunk/gcc/gcc.c:6129
0x40eb87 handle_braces
../../gcc-trunk/gcc/gcc.c:6043
0x40d587 do_spec_1
../../gcc-trunk/gcc/gcc.c:5500
0x40eb87 process_brace_body
../../gcc-trunk/gcc/gcc.c:6129
0x40eb87 handle_braces
../../gcc-trunk/gcc/gcc.c:6043
0x40d587 do_spec_1
../../gcc-trunk/gcc/gcc.c:5500
0x40eb87 process_brace_body
../../gcc-trunk/gcc/gcc.c:6129
0x40eb87 handle_braces
../../gcc-trunk/gcc/gcc.c:6043
0x40d587 do_spec_1
../../gcc-trunk/gcc/gcc.c:5500
0x40eb87 process_brace_body
../../gcc-trunk/gcc/gcc.c:6129
0x40eb87 handle_braces
../../gcc-trunk/gcc/gcc.c:6043
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
$
------------------------------
int a, c;
int *volatile b;
void
fn1 (int p)
{
int d;
int *e = &a;
d = ((p == 0) & *e) != 0;
b = e;
for (; c;)
;
}
void
fn2 ()
{
fn1 (1);
}