Hi,
I recently found out that for the following sample:
class Pair {
int a,b;
public:
Pair(int f,int s){
a=f;
b=s;
}
};
template <class T> class A : public Pair {
A(int f, int s) : Pair(f,s){}
};
Clang produces a ParenListExpr as init expression for the Pair(f,s) call.
However if the class A has no template parameter i.e. just class A: public Pair{
Clang produces a CXXConstructExpr as init expression .
Why does it matter if there is a template argument for the CXXCtorInitializer ?
Thanks for your answers.
Cheers,
Lukas
PS: complete dumps of both samples:
non-templated: