[cxx-abi-dev] Substitutions for nested template parameters

Jason Merrill jason at redhat.com
Tue Mar 24 17:54:29 UTC 2015


A related example:

template <class T, void (*P)(T)>
void f(T) {}

template <class T>
void g(T) {}

int main()
{
   f<int, g<int> >(42);
}

Here EDG uses T_ in the parameters of both f and g, i.e.

_Z1fIiXadL_Z1gIiEvT_EEEvT_

whereas gcc and clang use a substitution for the parameter of f,

_Z1fIiXadL_Z1gIiEvT_EEEvS1_

Jason



More information about the cxx-abi-dev mailing list