diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-05-15 05:39:53 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-05-15 05:39:53 +0000 |
commit | 455e3e18b8ec4a7ba3a412b9b6be99b19b7c6970 (patch) | |
tree | fd11d1818183b4075d97def8fcacb2bfbe6a3555 | |
parent | dbbecccb8431bb4545fc01c6401abc4253667360 (diff) |
Test file I forgot to 'svn add' in r156802.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156805 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/CXX/dcl.decl/dcl.meaning/dcl.fct/dcl.fct.def.default/p1.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CXX/dcl.decl/dcl.meaning/dcl.fct/dcl.fct.def.default/p1.cpp b/test/CXX/dcl.decl/dcl.meaning/dcl.fct/dcl.fct.def.default/p1.cpp new file mode 100644 index 0000000000..15efb48477 --- /dev/null +++ b/test/CXX/dcl.decl/dcl.meaning/dcl.fct/dcl.fct.def.default/p1.cpp @@ -0,0 +1,14 @@ +// RUN: %clang_cc1 -std=c++11 -verify %s + +// A function that is explicitly defaulted shall +// [...] +// -- not have default arguments +struct DefArg { + DefArg(int n = 5) = default; // expected-error {{an explicitly-defaulted constructor cannot have default arguments}} + DefArg(const DefArg &DA = DefArg(2)) = default; // expected-error {{an explicitly-defaulted constructor cannot have default arguments}} + DefArg(const DefArg &DA, int k = 3) = default; // expected-error {{an explicitly-defaulted copy constructor cannot have default arguments}} + DefArg(DefArg &&DA, int k = 3) = default; // expected-error {{an explicitly-defaulted move constructor cannot have default arguments}} + DefArg &operator=(const DefArg&, int k = 4) = default; // expected-error {{parameter of overloaded 'operator=' cannot have a default argument}} + DefArg &operator=(DefArg&&, int k = 4) = default; // expected-error {{parameter of overloaded 'operator=' cannot have a default argument}} + ~DefArg(int k = 5) = default; // expected-error {{destructor cannot have any parameters}} +}; |