From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3853 invoked by alias); 15 Feb 2006 20:44:46 -0000 Received: (qmail 3698 invoked by uid 48); 15 Feb 2006 20:44:42 -0000 Date: Wed, 15 Feb 2006 20:44:00 -0000 Subject: [Bug tree-optimization/26307] New: load PRE creates type mismatches X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pinskia at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-02/txt/msg01740.txt.bz2 List-Id: 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 ; 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; : D.1890_2 = *entry_ptr_1; if (D.1890_2 == 0B) goto ; else goto ; :; goto (); :; *entry_ptr_1 = automaton_decl_6; storetmp.21_11 = *entry_ptr_1; # prephitmp.22_12 = PHI ; :; 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