[Bug tree-optimization/26307] New: load PRE creates type mismatches
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Feb 15 20:44:00 GMT 2006
Source code:
int *insert_automaton_decl (void **entry_ptr, int * automaton_decl)
{
if (*entry_ptr == ((void *)0))
*entry_ptr = (void *) automaton_decl;
return (int*) *entry_ptr;
}
-----
Error message:
t1.c: In function Âinsert_automaton_declÂ:
t1.c:2: error: statement types mismatch
# VUSE <TMT.4D.1900_9>;
storetmp.21D.1918_11 = *entry_ptrD.1886_1;
intD.0 *
voidD.38 *
t1.c:2: internal compiler error: verify_stmts failed
------ the tree dump:
void * prephitmp.22;
int * storetmp.21;
int * D.1891;
void * D.1890;
<bb 2>:
D.1890_2 = *entry_ptr_1;
if (D.1890_2 == 0B) goto <L0>; else goto <L3>;
<L3>:;
goto <bb 4> (<L1>);
<L0>:;
*entry_ptr_1 = automaton_decl_6;
storetmp.21_11 = *entry_ptr_1;
# prephitmp.22_12 = PHI <D.1890_2(5), storetmp.21_11(3)>;
<L1>:;
D.1890_3 = prephitmp.22_12;
D.1891_4 = (int *) D.1890_3;
return D.1891_4;
Why is storetmp.21 an int* and not a void*?
I will look into this more later today.
Reduced genautomata.c
--
Summary: load PRE creates type mismatches
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
OtherBugsDependingO 22368
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26307
More information about the Gcc-bugs
mailing list