[Bug middle-end/44982] [4.3/4.4/4.5/4.6 Regression] ICE in get_narrower, at tree.c:7832
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44982 --- Comment #4 from rguenther at suse dot de rguenther at suse dot de 2010-12-18 20:22:18 UTC --- On Fri, 17 Dec 2010, steven at gcc dot gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44982 Steven Bosscher steven at gcc dot gnu.org changed: What|Removed |Added CC||rguenth at gcc dot gnu.org --- Comment #3 from Steven Bosscher steven at gcc dot gnu.org 2010-12-17 21:26:45 UTC --- I see no reason to cgraph_finalize_compilation_unit if there were parse errors. Richi, what do you think? I think the idea was we want to preserve warnings and errors we generate from the middle-end. But the patch looks sensible to me anyway, maybe post it up for disscussion, as it would affect all frontends. Richard. Index: toplev.c === --- toplev.c(revision 167996) +++ toplev.c(working copy) @@ -582,7 +582,12 @@ what's left of the symbol table output. */ timevar_pop (TV_PARSE); - if (flag_syntax_only || flag_wpa) + /* If all we have to do is syntax checking, or if there were parse + errors, stop here. */ + if (flag_syntax_only || seen_error) +return; + + if (flag_wpa) return; ggc_protect_identifiers = false; @@ -590,9 +595,6 @@ /* This must also call cgraph_finalize_compilation_unit. */ lang_hooks.decls.final_write_globals (); - if (seen_error ()) -return; - varpool_assemble_pending_decls (); finish_aliases_2 ();
[Bug middle-end/44982] [4.3/4.4/4.5/4.6 Regression] ICE in get_narrower, at tree.c:7832
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44982 Steven Bosscher steven at gcc dot gnu.org changed: What|Removed |Added CC||rguenth at gcc dot gnu.org --- Comment #3 from Steven Bosscher steven at gcc dot gnu.org 2010-12-17 21:26:45 UTC --- I see no reason to cgraph_finalize_compilation_unit if there were parse errors. Richi, what do you think? Index: toplev.c === --- toplev.c(revision 167996) +++ toplev.c(working copy) @@ -582,7 +582,12 @@ what's left of the symbol table output. */ timevar_pop (TV_PARSE); - if (flag_syntax_only || flag_wpa) + /* If all we have to do is syntax checking, or if there were parse + errors, stop here. */ + if (flag_syntax_only || seen_error) +return; + + if (flag_wpa) return; ggc_protect_identifiers = false; @@ -590,9 +595,6 @@ /* This must also call cgraph_finalize_compilation_unit. */ lang_hooks.decls.final_write_globals (); - if (seen_error ()) -return; - varpool_assemble_pending_decls (); finish_aliases_2 ();
[Bug middle-end/44982] [4.3/4.4/4.5/4.6 Regression] ICE in get_narrower, at tree.c:7832
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44982
[Bug middle-end/44982] [4.3/4.4/4.5/4.6 Regression] ICE in get_narrower, at tree.c:7832
--- Comment #1 from rguenth at gcc dot gnu dot org 2010-07-19 09:12 --- Confirmed. ./cc1 -quiet t.c t.c: In function 'main': t.c:5:3: error: void value not ignored as it ought to be t.c:5:3: error: void value not ignored as it ought to be t.c:5:5: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in get_narrower, at tree.c:7832 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Component|c |middle-end Ever Confirmed|0 |1 Keywords||error-recovery, ice-on- ||invalid-code Known to fail||4.0.0 Known to work||3.4.6 Last reconfirmed|-00-00 00:00:00 |2010-07-19 09:12:57 date|| Summary|crash on invalid code |[4.3/4.4/4.5/4.6 Regression] |if((a==1) ? (void) (0) : 1) |ICE in get_narrower, at ||tree.c:7832 Target Milestone|--- |4.3.6 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44982
[Bug middle-end/44982] [4.3/4.4/4.5/4.6 Regression] ICE in get_narrower, at tree.c:7832
--- Comment #2 from steven at gcc dot gnu dot org 2010-07-19 09:58 --- Should be easy, this one. I like easy. -- steven at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |steven at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2010-07-19 09:12:57 |2010-07-19 09:58:25 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44982