aboutsummaryrefslogtreecommitdiff
path: root/lib/Parse/AttributeList.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-11 18:48:18 +0000
committerChris Lattner <sabre@nondot.org>2009-04-11 18:48:18 +0000
commit8f823d2d3c557326d22699d66e5d367d0f0e44ef (patch)
tree475afa0cfd2f54b50b4f57f1c5afbd45305a2fa9 /lib/Parse/AttributeList.cpp
parent3c304bd9ec2b4611572d4cbae9e1727bbecb5dc9 (diff)
sink abstract typedefs like Action::ExprTy from the Action class
down to the ActionBase class. This eliminates dependencies of (e.g.) DeclSpec.h on Action.h, meaning that action.h can now include these headers and use their types directly in the actions interfaces. This is a refactoring to support a future change, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68869 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/AttributeList.cpp')
-rw-r--r--lib/Parse/AttributeList.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/Parse/AttributeList.cpp b/lib/Parse/AttributeList.cpp
index 14011e5b6f..d69755df73 100644
--- a/lib/Parse/AttributeList.cpp
+++ b/lib/Parse/AttributeList.cpp
@@ -12,11 +12,12 @@
//===----------------------------------------------------------------------===//
#include "clang/Parse/AttributeList.h"
+#include "clang/Basic/IdentifierTable.h"
using namespace clang;
AttributeList::AttributeList(IdentifierInfo *aName, SourceLocation aLoc,
IdentifierInfo *pName, SourceLocation pLoc,
- Action::ExprTy **ExprList, unsigned numArgs,
+ ActionBase::ExprTy **ExprList, unsigned numArgs,
AttributeList *n)
: AttrName(aName), AttrLoc(aLoc), ParmName(pName), ParmLoc(pLoc),
NumArgs(numArgs), Next(n) {
@@ -24,7 +25,7 @@ AttributeList::AttributeList(IdentifierInfo *aName, SourceLocation aLoc,
if (numArgs == 0)
Args = 0;
else {
- Args = new Action::ExprTy*[numArgs];
+ Args = new ActionBase::ExprTy*[numArgs];
memcpy(Args, ExprList, numArgs*sizeof(Args[0]));
}
}
@@ -32,7 +33,7 @@ AttributeList::AttributeList(IdentifierInfo *aName, SourceLocation aLoc,
AttributeList::~AttributeList() {
if (Args) {
// FIXME: before we delete the vector, we need to make sure the Expr's
- // have been deleted. Since Action::ExprTy is "void", we are dependent
+ // have been deleted. Since ActionBase::ExprTy is "void", we are dependent
// on the actions module for actually freeing the memory. The specific
// hooks are ActOnDeclarator, ActOnTypeName, ActOnParamDeclaratorType,
// ParseField, ParseTag. Once these routines have freed the expression,