https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104648

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Target Milestone|---                         |12.0
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |marxin at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2022-02-23
           Keywords|                            |error-recovery,
                   |                            |ice-checking
          Component|c++                         |ipa

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
VTV adds its init function via

#0  cgraph_node::add_new_function (fndecl=<function_decl 0x7ffff66a0900
_GLOBAL__sub_I.00099_t.ii>, lowered=false)
    at /home/rguenther/src/gcc3/gcc/cgraphunit.cc:517
#1  0x0000000000f91bb4 in vtv_generate_init_routine ()
    at /home/rguenther/src/gcc3/gcc/cp/vtable-class-hierarchy.cc:1192
#2  0x0000000000cb753a in cxx_post_compilation_parsing_cleanups ()
    at /home/rguenther/src/gcc3/gcc/cp/decl2.cc:5421
#3  0x000000000181dd1f in compile_file () at
/home/rguenther/src/gcc3/gcc/toplev.cc:488

but then compile_file () returns early and we run into

40      #if CHECKING_P
41        toplev.finalize ();
42      #endif

in main().  I suppose that should simply be cut when seen_error ().  Not
sure why the above is #if CHECKING_P rather than if (flag_checking) either.

Reply via email to