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())));


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to