r230649 - Patch to prevent crash when default argument expression

Fariborz Jahanian fjahanian at apple.com
Thu Feb 26 09:59:55 PST 2015


Author: fjahanian
Date: Thu Feb 26 11:59:54 2015
New Revision: 230649

URL: http://llvm.org/viewvc/llvm-project?rev=230649&view=rev
Log:
Patch to prevent crash when default argument expression
is null due to its previous bad declaration, etc.
rdar://19871240

Modified:
    cfe/trunk/lib/Sema/SemaChecking.cpp

Modified: cfe/trunk/lib/Sema/SemaChecking.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaChecking.cpp?rev=230649&r1=230648&r2=230649&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaChecking.cpp (original)
+++ cfe/trunk/lib/Sema/SemaChecking.cpp Thu Feb 26 11:59:54 2015
@@ -6774,8 +6774,11 @@ void AnalyzeImplicitConversions(Sema &S,
       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)) {





More information about the cfe-commits mailing list