balazske created this revision. Herald added subscribers: steakhal, martong, gamesh411, Szelethus, dkrupp. Herald added a reviewer: a.sidorin. Herald added a reviewer: shafik. Herald added a project: All. balazske requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D123397 Files: clang/lib/AST/ASTImporter.cpp clang/unittests/AST/ASTImporterTest.cpp Index: clang/unittests/AST/ASTImporterTest.cpp =================================================================== --- clang/unittests/AST/ASTImporterTest.cpp +++ clang/unittests/AST/ASTImporterTest.cpp @@ -6634,6 +6634,15 @@ EXPECT_EQ(FromAttr->getType()->getName(), ToAttr->getType()->getName()); } +TEST_P(ImportAttributes, ImportEnableIf) { + EnableIfAttr *FromAttr, *ToAttr; + importAttr<FunctionDecl>( + "void test(int A) __attribute__((enable_if(A == 1, \"message\")));", + FromAttr, ToAttr); + checkImported(FromAttr->getCond(), ToAttr->getCond()); + EXPECT_EQ(FromAttr->getMessage(), ToAttr->getMessage()); +} + TEST_P(ImportAttributes, ImportGuardedVar) { GuardedVarAttr *FromAttr, *ToAttr; importAttr<VarDecl>("int test __attribute__((guarded_var));", FromAttr, Index: clang/lib/AST/ASTImporter.cpp =================================================================== --- clang/lib/AST/ASTImporter.cpp +++ clang/lib/AST/ASTImporter.cpp @@ -8583,6 +8583,13 @@ break; } + case attr::EnableIf: { + const auto *From = cast<EnableIfAttr>(FromAttr); + AI.importAttr(From, AI.importArg(From->getCond()).value(), + From->getMessage()); + break; + } + case attr::AssertCapability: { const auto *From = cast<AssertCapabilityAttr>(FromAttr); AI.importAttr(From,
Index: clang/unittests/AST/ASTImporterTest.cpp =================================================================== --- clang/unittests/AST/ASTImporterTest.cpp +++ clang/unittests/AST/ASTImporterTest.cpp @@ -6634,6 +6634,15 @@ EXPECT_EQ(FromAttr->getType()->getName(), ToAttr->getType()->getName()); } +TEST_P(ImportAttributes, ImportEnableIf) { + EnableIfAttr *FromAttr, *ToAttr; + importAttr<FunctionDecl>( + "void test(int A) __attribute__((enable_if(A == 1, \"message\")));", + FromAttr, ToAttr); + checkImported(FromAttr->getCond(), ToAttr->getCond()); + EXPECT_EQ(FromAttr->getMessage(), ToAttr->getMessage()); +} + TEST_P(ImportAttributes, ImportGuardedVar) { GuardedVarAttr *FromAttr, *ToAttr; importAttr<VarDecl>("int test __attribute__((guarded_var));", FromAttr, Index: clang/lib/AST/ASTImporter.cpp =================================================================== --- clang/lib/AST/ASTImporter.cpp +++ clang/lib/AST/ASTImporter.cpp @@ -8583,6 +8583,13 @@ break; } + case attr::EnableIf: { + const auto *From = cast<EnableIfAttr>(FromAttr); + AI.importAttr(From, AI.importArg(From->getCond()).value(), + From->getMessage()); + break; + } + case attr::AssertCapability: { const auto *From = cast<AssertCapabilityAttr>(FromAttr); AI.importAttr(From,
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits