summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ASTImporter.cpp
diff options
context:
space:
mode:
authorGabor Marton <martongabesz@gmail.com>2018-08-09 12:18:07 +0000
committerGabor Marton <martongabesz@gmail.com>2018-08-09 12:18:07 +0000
commitbf7f18b79c1315eb482a580a9be81e3aa7dd55ac (patch)
treeb01561b2b05792852a5b8aef0e1459ac6f79f9b4 /clang/lib/AST/ASTImporter.cpp
parent5570d7d45b5ea98c0cf728fbe82729241884352f (diff)
downloadbcm5719-llvm-bf7f18b79c1315eb482a580a9be81e3aa7dd55ac.tar.gz
bcm5719-llvm-bf7f18b79c1315eb482a580a9be81e3aa7dd55ac.zip
Add support for importing imaginary literals
Reviewers: a_sidorin, r.stahl, xazax.hun Subscribers: rnkovacs, dkrupp, cfe-commits Differential Revision: https://reviews.llvm.org/D50428 llvm-svn: 339334
Diffstat (limited to 'clang/lib/AST/ASTImporter.cpp')
-rw-r--r--clang/lib/AST/ASTImporter.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp
index 791dcc747cc..a8f8dcf6228 100644
--- a/clang/lib/AST/ASTImporter.cpp
+++ b/clang/lib/AST/ASTImporter.cpp
@@ -434,6 +434,7 @@ namespace clang {
Expr *VisitCXXNullPtrLiteralExpr(CXXNullPtrLiteralExpr *E);
Expr *VisitIntegerLiteral(IntegerLiteral *E);
Expr *VisitFloatingLiteral(FloatingLiteral *E);
+ Expr *VisitImaginaryLiteral(ImaginaryLiteral *E);
Expr *VisitCharacterLiteral(CharacterLiteral *E);
Expr *VisitStringLiteral(StringLiteral *E);
Expr *VisitCompoundLiteralExpr(CompoundLiteralExpr *E);
@@ -5613,6 +5614,18 @@ Expr *ASTNodeImporter::VisitFloatingLiteral(FloatingLiteral *E) {
Importer.Import(E->getLocation()));
}
+Expr *ASTNodeImporter::VisitImaginaryLiteral(ImaginaryLiteral *E) {
+ QualType T = Importer.Import(E->getType());
+ if (T.isNull())
+ return nullptr;
+
+ Expr *SubE = Importer.Import(E->getSubExpr());
+ if (!SubE)
+ return nullptr;
+
+ return new (Importer.getToContext()) ImaginaryLiteral(SubE, T);
+}
+
Expr *ASTNodeImporter::VisitCharacterLiteral(CharacterLiteral *E) {
QualType T = Importer.Import(E->getType());
if (T.isNull())
OpenPOWER on IntegriCloud