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