]> granicus.if.org Git - clang/commitdiff
Extended the AST importer to support ParenTypes.
authorSean Callanan <scallanan@apple.com>
Thu, 11 Aug 2011 16:56:07 +0000 (16:56 +0000)
committerSean Callanan <scallanan@apple.com>
Thu, 11 Aug 2011 16:56:07 +0000 (16:56 +0000)
This is necessary to support importing certain
function pointer types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137311 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/ASTImporter.cpp

index 867db91ac5431e2334fa4fea998355d7d60f0a91..9ea9a5789dae316a51a32ecb8b755ef9cd46272c 100644 (file)
@@ -59,6 +59,7 @@ namespace {
     QualType VisitFunctionNoProtoType(const FunctionNoProtoType *T);
     QualType VisitFunctionProtoType(const FunctionProtoType *T);
     // FIXME: UnresolvedUsingType
+    QualType VisitParenType(const ParenType *T);
     QualType VisitTypedefType(const TypedefType *T);
     QualType VisitTypeOfExprType(const TypeOfExprType *T);
     // FIXME: DependentTypeOfExprType
@@ -1550,6 +1551,14 @@ QualType ASTNodeImporter::VisitFunctionProtoType(const FunctionProtoType *T) {
                                                  ArgTypes.size(), EPI);
 }
 
+QualType ASTNodeImporter::VisitParenType(const ParenType *T) {
+  QualType ToInnerType = Importer.Import(T->getInnerType());
+  if (ToInnerType.isNull())
+    return QualType();
+    
+  return Importer.getToContext().getParenType(ToInnerType);
+}
+
 QualType ASTNodeImporter::VisitTypedefType(const TypedefType *T) {
   TypedefNameDecl *ToDecl
              = dyn_cast_or_null<TypedefNameDecl>(Importer.Import(T->getDecl()));