diff options
author | Alexis Hunt <alercah@gmail.com> | 2011-05-20 21:43:47 +0000 |
---|---|---|
committer | Alexis Hunt <alercah@gmail.com> | 2011-05-20 21:43:47 +0000 |
commit | a671bca618cbc1ec452a3d4e8c08391ae13fc97a (patch) | |
tree | 4d20c23d5b6f93bcdc89439452e9c7e4bd205763 /clang/lib/Sema/SemaDeclCXX.cpp | |
parent | 7c619f174ac545085b1f079602d01b0472fa53b9 (diff) | |
download | bcm5719-llvm-a671bca618cbc1ec452a3d4e8c08391ae13fc97a.tar.gz bcm5719-llvm-a671bca618cbc1ec452a3d4e8c08391ae13fc97a.zip |
Add a missing case for default constructor deletion.
This case is tested by the fact that the modified test produces
significatly worse diagnostics. That's on the list.
llvm-svn: 131759
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 90c840ba7fa..4fc9bf1fdd5 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -3433,6 +3433,11 @@ bool Sema::ShouldDeleteDefaultConstructor(CXXConstructorDecl *CD) { // This is technically non-conformant, but sanity demands it. continue; } + } else if (!Union && FieldType.isConstQualified()) { + // -- any non-variant non-static data member of const-qualified type (or + // array thereof) with no brace-or-equal-initializer does not have a + // user-provided default constructor + return true; } InitializedEntity MemberEntity = |