From 7d2da0b2ae8054215aa91199cca4683297c642bf Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Sun, 16 Feb 2014 10:16:09 +0000 Subject: [PATCH] clang/unittests/AST,ASTMatchers: Remove _MSC_VER. llvm-svn: 201485 --- clang/unittests/AST/DeclPrinterTest.cpp | 17 ++++++++-- .../unittests/ASTMatchers/ASTMatchersTest.cpp | 33 ++++++++++--------- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/clang/unittests/AST/DeclPrinterTest.cpp b/clang/unittests/AST/DeclPrinterTest.cpp index 66da38660293..570a807dcb43 100644 --- a/clang/unittests/AST/DeclPrinterTest.cpp +++ b/clang/unittests/AST/DeclPrinterTest.cpp @@ -143,6 +143,19 @@ public: "input.cc"); } +::testing::AssertionResult PrintedDeclCXX11nonMSCMatches( + StringRef Code, + const DeclarationMatcher &NodeMatch, + StringRef ExpectedPrinted) { + std::vector Args(1, "-std=c++11"); + Args.push_back("-fno-delayed-template-parsing"); + return PrintedDeclMatches(Code, + Args, + NodeMatch, + ExpectedPrinted, + "input.cc"); +} + ::testing::AssertionResult PrintedDeclObjCMatches( StringRef Code, const DeclarationMatcher &NodeMatch, @@ -499,9 +512,8 @@ TEST(DeclPrinter, TestCXXConstructorDecl10) { "A(const A &a)")); } -#if !defined(_MSC_VER) TEST(DeclPrinter, TestCXXConstructorDecl11) { - ASSERT_TRUE(PrintedDeclCXX11Matches( + ASSERT_TRUE(PrintedDeclCXX11nonMSCMatches( "template" "struct A : public T... {" " A(T&&... ts) : T(ts)... {}" @@ -510,7 +522,6 @@ TEST(DeclPrinter, TestCXXConstructorDecl11) { "A(T &&ts...) : T(ts)")); // WRONG; Should be: "A(T&&... ts) : T(ts)..." } -#endif TEST(DeclPrinter, TestCXXDestructorDecl1) { ASSERT_TRUE(PrintedDeclCXX98Matches( diff --git a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp index 669978b8a9f5..d84e6a6ef9d1 100644 --- a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp +++ b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp @@ -12,6 +12,8 @@ #include "clang/ASTMatchers/ASTMatchFinder.h" #include "clang/ASTMatchers/ASTMatchers.h" #include "clang/Tooling/Tooling.h" +#include "llvm/ADT/Triple.h" +#include "llvm/Support/Host.h" #include "gtest/gtest.h" namespace clang { @@ -103,12 +105,12 @@ TEST(NameableDeclaration, REMatchesVariousDecls) { TEST(DeclarationMatcher, MatchClass) { DeclarationMatcher ClassMatcher(recordDecl()); -#if !defined(_MSC_VER) - EXPECT_FALSE(matches("", ClassMatcher)); -#else - // Matches class type_info. - EXPECT_TRUE(matches("", ClassMatcher)); -#endif + if (llvm::Triple(llvm::sys::getDefaultTargetTriple()).getOS() != + llvm::Triple::Win32) + EXPECT_FALSE(matches("", ClassMatcher)); + else + // Matches class type_info. + EXPECT_TRUE(matches("", ClassMatcher)); DeclarationMatcher ClassX = recordDecl(recordDecl(hasName("X"))); EXPECT_TRUE(matches("class X;", ClassX)); @@ -1300,15 +1302,16 @@ 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 + if (llvm::Triple(llvm::sys::getDefaultTargetTriple()).getOS() != + llvm::Triple::Win32) { + // 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)); + } // Depedent calls don't match. EXPECT_TRUE(