diff options
-rw-r--r-- | lib/AST/StmtPrinter.cpp | 5 | ||||
-rw-r--r-- | lib/AST/Type.cpp | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/AST/StmtPrinter.cpp b/lib/AST/StmtPrinter.cpp index a427147472..113cbb48dd 100644 --- a/lib/AST/StmtPrinter.cpp +++ b/lib/AST/StmtPrinter.cpp @@ -255,6 +255,11 @@ void StmtPrinter::PrintRawDeclStmt(DeclStmt *S) { if (TD) ++Begin; + if (Begin == End) { + PrintRawDecl(TD); + return; + } + if (isa<TypedefDecl>(*Begin)) OS << "typedef "; else if (VarDecl *V = dyn_cast<VarDecl>(*Begin)) { diff --git a/lib/AST/Type.cpp b/lib/AST/Type.cpp index e63e12b3d6..f7eb41c28b 100644 --- a/lib/AST/Type.cpp +++ b/lib/AST/Type.cpp @@ -903,6 +903,16 @@ bool Type::isSpecifierType() const { case Record: case Enum: case Typedef: + case Complex: + case TypeOfExpr: + case TypeOf: + case TemplateTypeParm: + case TemplateSpecialization: + case QualifiedName: + case Typename: + case ObjCInterface: + case ObjCQualifiedInterface: + case ObjCQualifiedId: return true; default: return false; |