[reg...@gamow tmp413]$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r159348-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/home/regehr/z/compiler-install/gcc-r159348-install --program-prefix=r159348- --enable-languages=c,c++ Thread model: posix gcc version 4.6.0 20100513 (experimental) (GCC)
[reg...@gamow tmp413]$ current-gcc -O2 -c small.c small.c: In function 'func_96': small.c:32:7: warning: overflow in implicit constant conversion [-Woverflow] small.c:22:1: error: SSA name in freelist but still referenced pretmp.15_47 small.c:38:13: note: in statement # .MEM_24 = VDEF <.MEM_21(D)> *pretmp.8_41 = pretmp.15_47; small.c:22:1: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. [reg...@gamow tmp413]$ cat small.c typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; typedef unsigned int uint32_t; static int8_t safe_mul_func_int16_t_s_s (int16_t si1, int8_t si2) { return si1 && si2 && si1 > +si2 || si1 && si2 && si2 < +si1 || si1 && si2 && si1 < +si2 || si1 && si2 && si1 && si2 < +si1 ? : si1 * si2; } struct S0 { }; int32_t g_72[7][4][1]; int32_t *g_184 = &g_72[1][2][0]; int32_t **g_224 = &g_184; struct S0 g_244 = { }; int8_t * func_96 (int8_t p_97, uint32_t p_98, uint32_t p_99) { struct S0 *l_243 = &g_244; int i; for (i = 0; i < 1; p_98 = 1) { int32_t *l_202[3]; int i; for (i = 0; i < 1; i++) l_202[i] = &g_72[2][2][0]; if (safe_mul_func_int16_t_s_s (0xC4CAF0, **g_224)) { if (p_98 && &l_243) { } else *g_224 = l_202[0]; for (0;; 1) { } } } return 0; } -- Summary: error: SSA name in freelist but still referenced Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: regehr at cs dot utah dot edu GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44119