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?

Reply via email to