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