r253486 - Removing the AST matcher test for thread_local storage duration. Not all platforms support TLS, and on platforms that do not support it, use of thread_local causes an error. Since there's no way to determine whether the testing platform supports TLS, there's no way to know whether the test is safe to run or not. I will explore ways to enable this test, but this will appease at least one more build bot.
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 18 10:37:30 PST 2015
Author: aaronballman
Date: Wed Nov 18 12:37:29 2015
New Revision: 253486
URL: http://llvm.org/viewvc/llvm-project?rev=253486&view=rev
Log:
Removing the AST matcher test for thread_local storage duration. Not all platforms support TLS, and on platforms that do not support it, use of thread_local causes an error. Since there's no way to determine whether the testing platform supports TLS, there's no way to know whether the test is safe to run or not. I will explore ways to enable this test, but this will appease at least one more build bot.
Modified:
cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp
Modified: cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp?rev=253486&r1=253485&r2=253486&view=diff
==============================================================================
--- cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp (original)
+++ cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp Wed Nov 18 12:37:29 2015
@@ -1357,22 +1357,22 @@ TEST(Matcher, VarDecl_Storage) {
TEST(Matcher, VarDecl_StorageDuration) {
std::string T =
- "void f() { int x; static int y; thread_local int z; } int a;";
+ "void f() { int x; static int y; } int a;";
EXPECT_TRUE(matches(T, varDecl(hasName("x"), hasAutomaticStorageDuration())));
EXPECT_TRUE(
notMatches(T, varDecl(hasName("y"), hasAutomaticStorageDuration())));
EXPECT_TRUE(
- notMatches(T, varDecl(hasName("z"), hasAutomaticStorageDuration())));
- EXPECT_TRUE(
notMatches(T, varDecl(hasName("a"), hasAutomaticStorageDuration())));
EXPECT_TRUE(matches(T, varDecl(hasName("y"), hasStaticStorageDuration())));
EXPECT_TRUE(matches(T, varDecl(hasName("a"), hasStaticStorageDuration())));
EXPECT_TRUE(notMatches(T, varDecl(hasName("x"), hasStaticStorageDuration())));
- EXPECT_TRUE(notMatches(T, varDecl(hasName("z"), hasStaticStorageDuration())));
- EXPECT_TRUE(matches(T, varDecl(hasName("z"), hasThreadStorageDuration())));
+ // FIXME: It is really hard to test with thread_local itself because not all
+ // targets support TLS, which causes this to be an error depending on what
+ // platform the test is being run on. We do not have access to the TargetInfo
+ // object to be able to test whether the platform supports TLS or not.
EXPECT_TRUE(notMatches(T, varDecl(hasName("x"), hasThreadStorageDuration())));
EXPECT_TRUE(notMatches(T, varDecl(hasName("y"), hasThreadStorageDuration())));
EXPECT_TRUE(notMatches(T, varDecl(hasName("a"), hasThreadStorageDuration())));
More information about the cfe-commits
mailing list