summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorAlexis Hunt <alercah@gmail.com>2011-05-20 21:43:47 +0000
committerAlexis Hunt <alercah@gmail.com>2011-05-20 21:43:47 +0000
commita671bca618cbc1ec452a3d4e8c08391ae13fc97a (patch)
tree4d20c23d5b6f93bcdc89439452e9c7e4bd205763 /clang/lib/Sema/SemaDeclCXX.cpp
parent7c619f174ac545085b1f079602d01b0472fa53b9 (diff)
downloadbcm5719-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.cpp5
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 =
OpenPOWER on IntegriCloud