summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaChecking.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2015-02-26 17:59:54 +0000
committerFariborz Jahanian <fjahanian@apple.com>2015-02-26 17:59:54 +0000
commit947efbc138b30250da0baf6c4fe0f19b236dfc2c (patch)
tree93775c8a739136a12f26be340cd5ce9cd4168cfd /clang/lib/Sema/SemaChecking.cpp
parentb7912261369e88d9ba5a7d7a0aef4ea17f83a030 (diff)
downloadbcm5719-llvm-947efbc138b30250da0baf6c4fe0f19b236dfc2c.tar.gz
bcm5719-llvm-947efbc138b30250da0baf6c4fe0f19b236dfc2c.zip
Patch to prevent crash when default argument expression
is null due to its previous bad declaration, etc. rdar://19871240 llvm-svn: 230649
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r--clang/lib/Sema/SemaChecking.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index cac9b207536..5a0d8d4a538 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -6774,8 +6774,11 @@ void AnalyzeImplicitConversions(Sema &S, Expr *OrigE, SourceLocation CC) {
E = POE->getResultExpr();
}
- if (const OpaqueValueExpr *OVE = dyn_cast<OpaqueValueExpr>(E))
- return AnalyzeImplicitConversions(S, OVE->getSourceExpr(), CC);
+ if (const OpaqueValueExpr *OVE = dyn_cast<OpaqueValueExpr>(E)) {
+ if (OVE->getSourceExpr())
+ AnalyzeImplicitConversions(S, OVE->getSourceExpr(), CC);
+ return;
+ }
// Skip past explicit casts.
if (isa<ExplicitCastExpr>(E)) {
OpenPOWER on IntegriCloud