summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-08-06 17:22:51 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-08-06 17:22:51 +0000
commit11a8e95a1a246f7d57570c989808120c2a47824c (patch)
treee11aac3064d4831c5a6f1b1c2981f8fd6a2855bd /clang/lib/Sema/SemaOverload.cpp
parentb4764e5b7fd06cae7081279bcb48e757ae544370 (diff)
downloadbcm5719-llvm-11a8e95a1a246f7d57570c989808120c2a47824c.tar.gz
bcm5719-llvm-11a8e95a1a246f7d57570c989808120c2a47824c.zip
After reporting ill-formed copy constructor(12.8.p3)
don't recurs and crash. llvm-svn: 78323
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index c28e052ae64..0fb515e80d3 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -1344,7 +1344,8 @@ bool Sema::IsUserDefinedConversion(Expr *From, QualType ToType,
= ToRecordDecl->lookup(ConstructorName);
Con != ConEnd; ++Con) {
CXXConstructorDecl *Constructor = cast<CXXConstructorDecl>(*Con);
- if (Constructor->isConvertingConstructor())
+ if (!Constructor->isInvalidDecl() &&
+ Constructor->isConvertingConstructor())
AddOverloadCandidate(Constructor, &From, 1, CandidateSet,
/*SuppressUserConversions=*/true, ForceRValue);
}
OpenPOWER on IntegriCloud