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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
--
Jon Roelofs
[email protected]
CodeSourcery / Mentor Embedded
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits