This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/44119] New: error: SSA name in freelist but still referenced
- From: "regehr at cs dot utah dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 May 2010 15:22:00 -0000
- Subject: [Bug c/44119] New: error: SSA name in freelist but still referenced
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
[regehr@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)
[regehr@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.
[regehr@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