Patch to prevent crash when default argument expression
authorFariborz Jahanian <fjahanian@apple.com>
Thu, 26 Feb 2015 17:59:54 +0000 (17:59 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Thu, 26 Feb 2015 17:59:54 +0000 (17:59 +0000)
is null due to its previous bad declaration, etc.
rdar://19871240

llvm-svn: 230649

clang/lib/Sema/SemaChecking.cpp

index cac9b20..5a0d8d4 100644 (file)
@@ -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)) {