[cxx-abi-dev] Decltype mangling and type dependency

Jason Merrill jason at redhat.com
Wed Feb 23 01:28:28 UTC 2011


It occurs to me now that this is really a language question, not ABI. 
Is this testcase well-formed?

template<class T, T* u>
struct S
{
   decltype(u) foo(T);
};

template<class T, T *u>
T* S<T, u>::foo(T)
{
   T t;
   return t;
}

Type matching rules aren't well specified in the WP, but it seems 
reasonable to say that the definition needs to use decltype as well, 
which matches the decision to mangle decltype(u) in the signature.

Jason



More information about the cxx-abi-dev mailing list