I encourages with this problem: If I have
class A { public: }; int main() { A a{}; A b{a}; }
gcc gives:
moves.
GCC was following the standard, but that was a known defect, see core issue 1467. The defect report was resolved in November 2014 and the new behaviour is supported in the next major release of GCC (version 5.1, released April 2015).