------- Comment #2 from rguenth at gcc dot gnu dot org  2010-02-05 11:36 -------
DECL_FUNCTION_PERSONALITY is set here because we see an EH tree at some point
that might need the C++ personality routine.

Note that only eh-cleanup removes this empty EH region, so at -O0 we'd see
DECL_FUNCTION_PERSONALITY in the LTO stream but the object files generated
during compiling would still not refer to it (we run eh-cleanup before
expansion when not optimizing).  Thus there will be an inconsistency between
what gold sees during symbol resolution and what GCC sees at LTO bytecode
read time (as they see different optimized variants).

Now we can re-compute DECL_FUNCTION_PERSONALITY from eh-cleanup which is
probably a good idea and likely will fix the ICE at -O1 (where eh-cleanup
is run before streaming LTO).  But the issue will remain at -O0 so we
have to deal with it somehow (like not asserting for DECL_EXTERNAL).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42762

Reply via email to