decls should all have types
llvm-svn: 39187
diff --git a/clang/AST/SemaDecl.cpp b/clang/AST/SemaDecl.cpp
index 68429ea..22c69c9 100644
--- a/clang/AST/SemaDecl.cpp
+++ b/clang/AST/SemaDecl.cpp
@@ -60,8 +60,6 @@
Action::DeclTy *
Sema::ParseDeclarator(Scope *S, Declarator &D, ExprTy *Init,
DeclTy *LastInGroup) {
- TypeRef DeclaratorType = GetTypeForDeclarator(D, S);
-
IdentifierInfo *II = D.getIdentifier();
Decl *PrevDecl = 0;
@@ -75,9 +73,9 @@
if (D.getDeclSpec().StorageClassSpec == DeclSpec::SCS_typedef) {
New = ParseTypedefDecl(S, D, PrevDecl);
} else if (D.isFunctionDeclarator())
- New = new FunctionDecl(II, PrevDecl);
+ New = new FunctionDecl(II, GetTypeForDeclarator(D, S), PrevDecl);
else
- New = new VarDecl(II, PrevDecl);
+ New = new VarDecl(II, GetTypeForDeclarator(D, S), PrevDecl);
if (!New) return 0;
@@ -111,6 +109,7 @@
Decl *Sema::ParseTypedefDecl(Scope *S, Declarator &D, Decl *PrevDecl) {
assert(D.getIdentifier() && "Wrong callback for declspec withotu declarator");
- return new TypedefDecl(D.getIdentifier(), PrevDecl);
+ TypeRef T = GetTypeForDeclarator(D, S);
+ return new TypedefDecl(D.getIdentifier(), T, PrevDecl);
}