diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/g++.dg/cpp0x/ref-qual3.C')
-rw-r--r-- | gcc-4.8/gcc/testsuite/g++.dg/cpp0x/ref-qual3.C | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/g++.dg/cpp0x/ref-qual3.C b/gcc-4.8/gcc/testsuite/g++.dg/cpp0x/ref-qual3.C new file mode 100644 index 000000000..1b2119632 --- /dev/null +++ b/gcc-4.8/gcc/testsuite/g++.dg/cpp0x/ref-qual3.C @@ -0,0 +1,29 @@ +// An explicitly defaulted function can have a ref-qualifier. + +// { dg-require-effective-target c++11 } + +struct A { + A& operator=(const A&) & = default; +}; + +template<class T> +struct B { + B& operator=(const B&) & = default; +}; + +template<class T> +void f() +{ + B<T> b; + b = B<T>(); + B<T>() = b; // { dg-error "" } +} + +int main() +{ + A a; + a = A(); + A() = a; // { dg-error "" } + + f<int>(); +} |