C++ PATCH for c++/56728 (ICE with bogus constexpr function)
Thu Mar 28 18:09:00 GMT 2013
In this testcase we were crashing because after function argument
substitution in the initialization for crashnkill we couldn't figure out
how to simplify *(Inner*)4, so we went back to bridge2. It certainly
doesn't make sense for the initializer to refer to a parameter for a
function called in the initializer, so the back end correctly blew up.
The cxx_eval_indirect_ref hunk addresses this by returning the expanded
version of the operand rather than the original one.
The other two hunks address the issue that the getInner function is not
a valid constexpr function, because it involves a reinterpret_cast from
integer to pointer.
Tested x86_64-pc-linux-gnu, applying to trunk.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 2911 bytes
Desc: not available
More information about the Gcc-patches