diff --git a/clang/test/Tooling/auto-detect-from-source-parent-of-cwd.cpp b/clang/test/Tooling/auto-detect-from-source-parent-of-cwd.cpp index 7a4f9af6c4f3..9692edcd4f1f 100644 --- a/clang/test/Tooling/auto-detect-from-source-parent-of-cwd.cpp +++ b/clang/test/Tooling/auto-detect-from-source-parent-of-cwd.cpp @@ -6,3 +6,5 @@ // CHECK: C++ requires invalid; + +// REQUIRES: shell diff --git a/clang/test/Tooling/auto-detect-from-source-parent.cpp b/clang/test/Tooling/auto-detect-from-source-parent.cpp index cb5fd56328ef..ea7eb158be22 100644 --- a/clang/test/Tooling/auto-detect-from-source-parent.cpp +++ b/clang/test/Tooling/auto-detect-from-source-parent.cpp @@ -6,3 +6,5 @@ // CHECK: C++ requires invalid; + +// REQUIRES: shell diff --git a/clang/test/Tooling/auto-detect-from-source.cpp b/clang/test/Tooling/auto-detect-from-source.cpp index 40a2a1c9fe39..d8e82e77545f 100644 --- a/clang/test/Tooling/auto-detect-from-source.cpp +++ b/clang/test/Tooling/auto-detect-from-source.cpp @@ -6,3 +6,5 @@ // CHECK: C++ requires invalid; + +// REQUIRES: shell diff --git a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp index 290da9005d66..3f7b5ed39d9c 100644 --- a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp +++ b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp @@ -44,7 +44,12 @@ TEST(NameableDeclaration, MatchesVariousDecls) { TEST(DeclarationMatcher, MatchClass) { DeclarationMatcher ClassMatcher(record()); +#if !defined(_MSC_VER) EXPECT_FALSE(matches("", ClassMatcher)); +#else + // Matches class type_info. + EXPECT_TRUE(matches("", ClassMatcher)); +#endif DeclarationMatcher ClassX = record(record(hasName("X"))); EXPECT_TRUE(matches("class X;", ClassX)); @@ -839,12 +844,15 @@ TEST(Function, MatchesFunctionDeclarations) { EXPECT_TRUE(matches("void f() { f(); }", CallFunctionF)); EXPECT_TRUE(notMatches("void f() { }", CallFunctionF)); +#if !defined(_MSC_VER) + // FIXME: Make this work for MSVC. // Dependent contexts, but a non-dependent call. EXPECT_TRUE(matches("void f(); template void g() { f(); }", CallFunctionF)); EXPECT_TRUE( matches("void f(); template struct S { void g() { f(); } };", CallFunctionF)); +#endif // Depedent calls don't match. EXPECT_TRUE(