r221533 - Revert r221404 which caused lldb to not display

Fariborz Jahanian fjahanian at apple.com
Fri Nov 7 08:47:05 PST 2014


Author: fjahanian
Date: Fri Nov  7 10:47:05 2014
New Revision: 221533

URL: http://llvm.org/viewvc/llvm-project?rev=221533&view=rev
Log:
Revert r221404 which caused lldb to not display
vararg expressions.

Modified:
    cfe/trunk/lib/Sema/SemaExpr.cpp
    cfe/trunk/test/CodeGenCXX/unknown-anytype.cpp

Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=221533&r1=221532&r2=221533&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Fri Nov  7 10:47:05 2014
@@ -13343,39 +13343,6 @@ ExprResult RebuildUnknownAnyExpr::resolv
         << VD << E->getSourceRange();
       return ExprError();
     }
-    if (const FunctionProtoType *FT = Type->getAs<FunctionProtoType>()) {
-      // We must match the FunctionDecl's type to the hack introduced in
-      // RebuildUnknownAnyExpr::VisitCallExpr to vararg functions of unknown
-      // type. See the lengthy commentary in that routine.
-      QualType FDT = FD->getType();
-      const FunctionType *FnType = FDT->castAs<FunctionType>();
-      const FunctionProtoType *Proto = dyn_cast_or_null<FunctionProtoType>(FnType);
-      DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(E);
-      if (DRE && Proto && Proto->getParamTypes().empty() && Proto->isVariadic()) {
-        SourceLocation Loc = FD->getLocation();
-        FunctionDecl *NewFD = FunctionDecl::Create(FD->getASTContext(),
-                                      FD->getDeclContext(),
-                                      Loc, Loc, FD->getNameInfo().getName(),
-                                      DestType, FD->getTypeSourceInfo(),
-                                      SC_None, false/*isInlineSpecified*/,
-                                      FD->hasPrototype(),
-                                      false/*isConstexprSpecified*/);
-          
-        if (FD->getQualifier())
-          NewFD->setQualifierInfo(FD->getQualifierLoc());
-
-        SmallVector<ParmVarDecl*, 16> Params;
-        for (const auto &AI : FT->param_types()) {
-          ParmVarDecl *Param =
-            S.BuildParmVarDeclForTypedef(FD, Loc, AI);
-          Param->setScopeInfo(0, Params.size());
-          Params.push_back(Param);
-        }
-        NewFD->setParams(Params);
-        DRE->setDecl(NewFD);
-        VD = DRE->getDecl();
-      }
-    }
 
     if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD))
       if (MD->isInstance()) {

Modified: cfe/trunk/test/CodeGenCXX/unknown-anytype.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/unknown-anytype.cpp?rev=221533&r1=221532&r2=221533&view=diff
==============================================================================
--- cfe/trunk/test/CodeGenCXX/unknown-anytype.cpp (original)
+++ cfe/trunk/test/CodeGenCXX/unknown-anytype.cpp Fri Nov  7 10:47:05 2014
@@ -115,9 +115,3 @@ extern "C" __unknown_anytype test10_any(
 void test10() {
   (void) test10_any(), (void) test10_any();
 }
-
-extern "C" __unknown_anytype malloc(...);
-void test11() {
-  void *s = (void*)malloc(12);
-  void *d = (void*)malloc(435);
-}





More information about the cfe-commits mailing list