On 11/18/15 11:37 AM, Aaron Ballman via cfe-commits wrote:
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.

Can you break it out in its own file, and then XFAIL on those platforms that don't support it?


Jon


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


--
Jon Roelofs
jonat...@codesourcery.com
CodeSourcery / Mentor Embedded
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to