diff options
author | Gabor Marton <martongabesz@gmail.com> | 2018-08-09 12:18:07 +0000 |
---|---|---|
committer | Gabor Marton <martongabesz@gmail.com> | 2018-08-09 12:18:07 +0000 |
commit | bf7f18b79c1315eb482a580a9be81e3aa7dd55ac (patch) | |
tree | b01561b2b05792852a5b8aef0e1459ac6f79f9b4 /clang/lib/AST/ASTImporter.cpp | |
parent | 5570d7d45b5ea98c0cf728fbe82729241884352f (diff) | |
download | bcm5719-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.cpp | 13 |
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()) |