C++ PATCH for c++/44629 (ICE with function template as non-type template argument)
Jason Merrill
jason@redhat.com
Wed Mar 9 17:57:00 GMT 2011
In this testcase, we have a function template used as an argument for a
function pointer template parameter. This causes unify to abort because
an OVERLOAD doesn't satisfy EXPR_P. 14.8.2.5 lists an overloaded
function given as a function argument as a non-deduced context, so it
seems reasonable to treat one given as a template argument as
non-deduced as well.
The ABI is silent on how to mangle this, and EDG currently does
something strange, so I'm not going to add mangling in 4.6; as a result,
the testcase will get a sorry from the mangler, but that's better than
an ICE.
Tested x86_64-pc-linux-gnu, applied to trunk, 4.4, 4.5.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 44629-partial.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110309/3c85d894/attachment.ksh>
More information about the Gcc-patches
mailing list