http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56265
Martin Jambor <jamborm at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jamborm at gcc dot gnu.org --- Comment #11 from Martin Jambor <jamborm at gcc dot gnu.org> 2013-04-25 17:27:00 UTC --- (In reply to comment #8) > > Martin, for 4.9 we can probably turn call to NULL into builtin_trap or > builtin_unreachable (not > sure if the second is fine, but it would result in better code). > I wonder however from where the non-NULL constants are comming? Isn't it some > bug in ipa-prop > that picks complete garbage? That may be possible wrong code issue... > > I will commit patch tomorrow morning. > Honza I have looked at all 11 occurrences of these discovered calls to non-functions and traced these values in the dumped jump functions and it all seemed legitimate and fine. Moreover, I have looked at actual IL of functions where the value was passed in aggregate jump functions and it turned out the aggregate was a C++ member pointers where one field is overloaded and can hold either a pointer to a non-virtual method or an index to VMT if the method is virtual. So yes, I'm in favor of turning the calls into builtin_trap or builtin_unreachable. Not sure which one. How do I get their call graph nodes?