forked from OSchip/llvm-project
Switch over functiondecl. This makes it obvious that the ASTContext
argument to Create should be first, not last. llvm-svn: 48397
This commit is contained in:
parent
4b08ca8f2e
commit
5072bae709
|
@ -227,6 +227,15 @@ ParmVarDecl *ParmVarDecl::Create(SourceLocation L, IdentifierInfo *Id,
|
|||
return new (Mem) ParmVarDecl(L, Id, T, S, PrevDecl);
|
||||
}
|
||||
|
||||
FunctionDecl *FunctionDecl::Create(ASTContext &C, SourceLocation L,
|
||||
IdentifierInfo *Id, QualType T,
|
||||
StorageClass S, bool isInline,
|
||||
ScopedDecl *PrevDecl) {
|
||||
void *Mem = C.getAllocator().Allocate<FunctionDecl>();
|
||||
return new (Mem) FunctionDecl(L, Id, T, S, isInline, PrevDecl);
|
||||
}
|
||||
|
||||
|
||||
EnumConstantDecl *EnumConstantDecl::Create(SourceLocation L, IdentifierInfo *Id,
|
||||
QualType T, Expr *E,
|
||||
const llvm::APSInt &V,
|
||||
|
|
|
@ -338,7 +338,7 @@ FunctionDecl* FunctionDecl::CreateImpl(Deserializer& D) {
|
|||
bool IsInline = D.ReadBool();
|
||||
|
||||
FunctionDecl* decl =
|
||||
new FunctionDecl(SourceLocation(),NULL,QualType(),SClass,IsInline);
|
||||
new FunctionDecl(SourceLocation(),NULL,QualType(),SClass, IsInline, 0);
|
||||
|
||||
decl->ValueDecl::ReadInRec(D);
|
||||
D.ReadPtr(decl->DeclChain);
|
||||
|
|
|
@ -1554,7 +1554,7 @@ void RewriteTest::SynthSelGetUidFunctionDecl() {
|
|||
QualType getFuncType = Context->getFunctionType(Context->getObjCSelType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
false /*isVariadic*/);
|
||||
SelGetUidFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
SelGetUidFunctionDecl = FunctionDecl::Create(*Context, SourceLocation(),
|
||||
SelGetUidIdent, getFuncType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
@ -1568,7 +1568,7 @@ void RewriteTest::SynthGetProtocolFunctionDecl() {
|
|||
QualType getFuncType = Context->getFunctionType(Context->getObjCProtoType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
false /*isVariadic*/);
|
||||
GetProtocolFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
GetProtocolFunctionDecl = FunctionDecl::Create(*Context, SourceLocation(),
|
||||
SelGetProtoIdent, getFuncType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
@ -1595,7 +1595,7 @@ void RewriteTest::SynthSuperContructorFunctionDecl() {
|
|||
QualType msgSendType = Context->getFunctionType(Context->getObjCIdType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
false);
|
||||
SuperContructorFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
SuperContructorFunctionDecl = FunctionDecl::Create(*Context, SourceLocation(),
|
||||
msgSendIdent, msgSendType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
@ -1613,7 +1613,7 @@ void RewriteTest::SynthMsgSendFunctionDecl() {
|
|||
QualType msgSendType = Context->getFunctionType(Context->getObjCIdType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
true /*isVariadic*/);
|
||||
MsgSendFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
MsgSendFunctionDecl = FunctionDecl::Create(*Context, SourceLocation(),
|
||||
msgSendIdent, msgSendType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
@ -1634,7 +1634,7 @@ void RewriteTest::SynthMsgSendSuperFunctionDecl() {
|
|||
QualType msgSendType = Context->getFunctionType(Context->getObjCIdType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
true /*isVariadic*/);
|
||||
MsgSendSuperFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
MsgSendSuperFunctionDecl = FunctionDecl::Create(*Context, SourceLocation(),
|
||||
msgSendIdent, msgSendType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
@ -1652,7 +1652,7 @@ void RewriteTest::SynthMsgSendStretFunctionDecl() {
|
|||
QualType msgSendType = Context->getFunctionType(Context->getObjCIdType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
true /*isVariadic*/);
|
||||
MsgSendStretFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
MsgSendStretFunctionDecl = FunctionDecl::Create(*Context, SourceLocation(),
|
||||
msgSendIdent, msgSendType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
@ -1675,7 +1675,8 @@ void RewriteTest::SynthMsgSendSuperStretFunctionDecl() {
|
|||
QualType msgSendType = Context->getFunctionType(Context->getObjCIdType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
true /*isVariadic*/);
|
||||
MsgSendSuperStretFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
MsgSendSuperStretFunctionDecl = FunctionDecl::Create(*Context,
|
||||
SourceLocation(),
|
||||
msgSendIdent, msgSendType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
@ -1693,7 +1694,7 @@ void RewriteTest::SynthMsgSendFpretFunctionDecl() {
|
|||
QualType msgSendType = Context->getFunctionType(Context->getObjCIdType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
true /*isVariadic*/);
|
||||
MsgSendFpretFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
MsgSendFpretFunctionDecl = FunctionDecl::Create(*Context, SourceLocation(),
|
||||
msgSendIdent, msgSendType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
@ -1707,7 +1708,7 @@ void RewriteTest::SynthGetClassFunctionDecl() {
|
|||
QualType getClassType = Context->getFunctionType(Context->getObjCIdType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
false /*isVariadic*/);
|
||||
GetClassFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
GetClassFunctionDecl = FunctionDecl::Create(*Context, SourceLocation(),
|
||||
getClassIdent, getClassType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
@ -1721,7 +1722,7 @@ void RewriteTest::SynthGetMetaClassFunctionDecl() {
|
|||
QualType getClassType = Context->getFunctionType(Context->getObjCIdType(),
|
||||
&ArgTys[0], ArgTys.size(),
|
||||
false /*isVariadic*/);
|
||||
GetMetaClassFunctionDecl = new FunctionDecl(SourceLocation(),
|
||||
GetMetaClassFunctionDecl = FunctionDecl::Create(*Context, SourceLocation(),
|
||||
getClassIdent, getClassType,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
}
|
||||
|
|
|
@ -166,8 +166,8 @@ ScopedDecl *Sema::LazilyCreateBuiltin(IdentifierInfo *II, unsigned bid,
|
|||
InitBuiltinVaListType();
|
||||
|
||||
QualType R = Context.BuiltinInfo.GetBuiltinType(BID, Context);
|
||||
FunctionDecl *New = new FunctionDecl(SourceLocation(), II, R,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
FunctionDecl *New = FunctionDecl::Create(Context, SourceLocation(), II, R,
|
||||
FunctionDecl::Extern, false, 0);
|
||||
|
||||
// Find translation-unit scope to insert this function into.
|
||||
if (Scope *FnS = S->getFnParent())
|
||||
|
@ -753,9 +753,10 @@ Sema::ActOnDeclarator(Scope *S, Declarator &D, DeclTy *lastDecl) {
|
|||
case DeclSpec::SCS_private_extern: SC = FunctionDecl::PrivateExtern;break;
|
||||
}
|
||||
|
||||
FunctionDecl *NewFD = new FunctionDecl(D.getIdentifierLoc(), II, R, SC,
|
||||
D.getDeclSpec().isInlineSpecified(),
|
||||
LastDeclarator);
|
||||
bool isInline = D.getDeclSpec().isInlineSpecified();
|
||||
FunctionDecl *NewFD = FunctionDecl::Create(Context, D.getIdentifierLoc(),
|
||||
II, R, SC, isInline,
|
||||
LastDeclarator);
|
||||
// Handle attributes.
|
||||
HandleDeclAttributes(NewFD, D.getDeclSpec().getAttributes(),
|
||||
D.getAttributes());
|
||||
|
|
|
@ -435,13 +435,18 @@ public:
|
|||
enum StorageClass {
|
||||
None, Extern, Static, PrivateExtern
|
||||
};
|
||||
private:
|
||||
FunctionDecl(SourceLocation L, IdentifierInfo *Id, QualType T,
|
||||
StorageClass S = None, bool isInline = false,
|
||||
ScopedDecl *PrevDecl = 0)
|
||||
StorageClass S, bool isInline, ScopedDecl *PrevDecl)
|
||||
: ValueDecl(Function, L, Id, T, PrevDecl),
|
||||
ParamInfo(0), Body(0), DeclChain(0), SClass(S), IsInline(isInline) {}
|
||||
virtual ~FunctionDecl();
|
||||
|
||||
public:
|
||||
static FunctionDecl *Create(ASTContext &C, SourceLocation L,
|
||||
IdentifierInfo *Id, QualType T,
|
||||
StorageClass S = None, bool isInline = false,
|
||||
ScopedDecl *PrevDecl = 0);
|
||||
|
||||
Stmt *getBody() const { return Body; }
|
||||
void setBody(Stmt *B) { Body = B; }
|
||||
|
||||
|
|
Loading…
Reference in New Issue