summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2009-10-23 21:48:59 +0000
committerJohn McCall <rjmccall@apple.com>2009-10-23 21:48:59 +0000
commit856bbea33288b351e3943c7544a8c94c39a014d4 (patch)
tree6b6f07c452b492c76d2b039c61ca967dff29fa34 /clang/lib/AST
parent3665e00c87ba3f69f731e5254140ec4cd36807a9 (diff)
downloadbcm5719-llvm-856bbea33288b351e3943c7544a8c94c39a014d4.tar.gz
bcm5719-llvm-856bbea33288b351e3943c7544a8c94c39a014d4.zip
Remove OriginalTypeParmDecl; the original type is the one specified
in the DeclaratorInfo, if one is present. Preserve source information through template instantiation. This is made more complicated by the possibility that ParmVarDecls don't have DIs, which is possibly worth fixing in the future. Also preserve source information for function parameters in ObjC method declarations. llvm-svn: 84971
Diffstat (limited to 'clang/lib/AST')
-rw-r--r--clang/lib/AST/Decl.cpp15
-rw-r--r--clang/lib/AST/DeclBase.cpp1
-rw-r--r--clang/lib/AST/DeclPrinter.cpp7
3 files changed, 1 insertions, 22 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index d270a958f0a..19d00de7457 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -91,13 +91,6 @@ ParmVarDecl *ParmVarDecl::Create(ASTContext &C, DeclContext *DC,
return new (C) ParmVarDecl(ParmVar, DC, L, Id, T, DInfo, S, DefArg);
}
-QualType ParmVarDecl::getOriginalType() const {
- if (const OriginalParmVarDecl *PVD =
- dyn_cast<OriginalParmVarDecl>(this))
- return PVD->OriginalType;
- return getType();
-}
-
SourceRange ParmVarDecl::getDefaultArgRange() const {
if (const Expr *E = getInit())
return E->getSourceRange();
@@ -140,14 +133,6 @@ bool VarDecl::isExternC() const {
return false;
}
-OriginalParmVarDecl *OriginalParmVarDecl::Create(
- ASTContext &C, DeclContext *DC,
- SourceLocation L, IdentifierInfo *Id,
- QualType T, DeclaratorInfo *DInfo,
- QualType OT, StorageClass S, Expr *DefArg) {
- return new (C) OriginalParmVarDecl(DC, L, Id, T, DInfo, OT, S, DefArg);
-}
-
FunctionDecl *FunctionDecl::Create(ASTContext &C, DeclContext *DC,
SourceLocation L,
DeclarationName N, QualType T,
diff --git a/clang/lib/AST/DeclBase.cpp b/clang/lib/AST/DeclBase.cpp
index 224bf877ad2..6cfdcdd3e50 100644
--- a/clang/lib/AST/DeclBase.cpp
+++ b/clang/lib/AST/DeclBase.cpp
@@ -199,7 +199,6 @@ unsigned Decl::getIdentifierNamespaceForKind(Kind DeclKind) {
case Var:
case ImplicitParam:
case ParmVar:
- case OriginalParmVar:
case NonTypeTemplateParm:
case Using:
case UnresolvedUsing:
diff --git a/clang/lib/AST/DeclPrinter.cpp b/clang/lib/AST/DeclPrinter.cpp
index 9d0d836cf62..7ef30c3bb34 100644
--- a/clang/lib/AST/DeclPrinter.cpp
+++ b/clang/lib/AST/DeclPrinter.cpp
@@ -52,7 +52,6 @@ namespace {
void VisitFieldDecl(FieldDecl *D);
void VisitVarDecl(VarDecl *D);
void VisitParmVarDecl(ParmVarDecl *D);
- void VisitOriginalParmVarDecl(OriginalParmVarDecl *D);
void VisitFileScopeAsmDecl(FileScopeAsmDecl *D);
void VisitOverloadedFunctionDecl(OverloadedFunctionDecl *D);
void VisitNamespaceDecl(NamespaceDecl *D);
@@ -489,7 +488,7 @@ void DeclPrinter::VisitVarDecl(VarDecl *D) {
std::string Name = D->getNameAsString();
QualType T = D->getType();
- if (OriginalParmVarDecl *Parm = dyn_cast<OriginalParmVarDecl>(D))
+ if (ParmVarDecl *Parm = dyn_cast<ParmVarDecl>(D))
T = Parm->getOriginalType();
T.getAsStringInternal(Name, Policy);
Out << Name;
@@ -508,10 +507,6 @@ void DeclPrinter::VisitParmVarDecl(ParmVarDecl *D) {
VisitVarDecl(D);
}
-void DeclPrinter::VisitOriginalParmVarDecl(OriginalParmVarDecl *D) {
- VisitVarDecl(D);
-}
-
void DeclPrinter::VisitFileScopeAsmDecl(FileScopeAsmDecl *D) {
Out << "__asm (";
D->getAsmString()->printPretty(Out, Context, 0, Policy, Indentation);
OpenPOWER on IntegriCloud