diff options
-rw-r--r-- | clang/unittests/AST/StructuralEquivalenceTest.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/clang/unittests/AST/StructuralEquivalenceTest.cpp b/clang/unittests/AST/StructuralEquivalenceTest.cpp index e6c289a..ae62747 100644 --- a/clang/unittests/AST/StructuralEquivalenceTest.cpp +++ b/clang/unittests/AST/StructuralEquivalenceTest.cpp @@ -378,10 +378,12 @@ TEST_F(StructuralEquivalenceFunctionTest, FunctionsWithDifferentNoreturnAttr) { EXPECT_TRUE(testStructuralMatch(t)); } -// These attributes may not be available on certain platforms. -#if defined(__x86_64__) && defined(__linux__) TEST_F(StructuralEquivalenceFunctionTest, FunctionsWithDifferentCallingConventions) { + // These attributes may not be available on certain platforms. + if (llvm::Triple(llvm::sys::getDefaultTargetTriple()).getArch() != + llvm::Triple::x86_64) + return; auto t = makeNamedDecls( "__attribute__((preserve_all)) void foo();", "__attribute__((ms_abi)) void foo();", @@ -390,13 +392,15 @@ TEST_F(StructuralEquivalenceFunctionTest, } TEST_F(StructuralEquivalenceFunctionTest, FunctionsWithDifferentSavedRegsAttr) { + if (llvm::Triple(llvm::sys::getDefaultTargetTriple()).getArch() != + llvm::Triple::x86_64) + return; auto t = makeNamedDecls( "__attribute__((no_caller_saved_registers)) void foo();", " void foo();", Lang_C); EXPECT_FALSE(testStructuralMatch(t)); } -#endif struct StructuralEquivalenceCXXMethodTest : StructuralEquivalenceTest { }; |