diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-01-22 20:09:10 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-01-22 20:09:10 +0000 |
| commit | 566184ac7591e693cc5375cfccd9ccac4ae6eddb (patch) | |
| tree | 72f94bc20f190dd9c36dc422b269f9959b80eebd /clang/lib | |
| parent | 80429048db141e0bc5da60c568e43cb381d94dfd (diff) | |
| download | bcm5719-llvm-566184ac7591e693cc5375cfccd9ccac4ae6eddb.tar.gz bcm5719-llvm-566184ac7591e693cc5375cfccd9ccac4ae6eddb.zip | |
When a special member is explicitly defaulted outside its class, and we reject
the defaulting because it would delete the member, produce additional notes
explaining why the member is implicitly deleted.
llvm-svn: 199829
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 3fe6337d502..019b1c189c2 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -4917,6 +4917,7 @@ void Sema::CheckExplicitlyDefaultedSpecialMember(CXXMethodDecl *MD) { // [For a] user-provided explicitly-defaulted function [...] if such a // function is implicitly defined as deleted, the program is ill-formed. Diag(MD->getLocation(), diag::err_out_of_line_default_deletes) << CSM; + ShouldDeleteSpecialMember(MD, CSM, /*Diagnose*/true); HadError = true; } } |

