[cxx-abi-dev] Non-trivial move constructor

Marc Glisse marc.glisse at inria.fr
Wed Feb 24 10:51:41 UTC 2016


Hello,

in 3.1.1, we use "In the special case where the parameter type has a 
non-trivial copy constructor or destructor" to force passing by reference. 
It seems that for C++11, this should also include move constructors, for 
the same reasons.

Currently, clang and gcc disagree on where to find 'a' in the following:

struct Tuple { int a; Tuple(Tuple&&); };
int f(Tuple t){
     return t.a;
}

( http://stackoverflow.com/q/35586332/1918193 )

(I have trouble getting anything but time-outs from llvm's bugzilla)

-- 
Marc Glisse


More information about the cxx-abi-dev mailing list