diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-02-16 10:16:09 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-02-16 10:16:09 +0000 |
commit | 454b3a6f3d17d46d2e5874286aa9cf7c2cbd348f (patch) | |
tree | 3b2f8dc4e0267d21bd3fd052d8129e5c64750a3c /unittests | |
parent | 3f769be9ebf0dca3d27e9018384f561c86b10846 (diff) | |
download | clang-454b3a6f3d17d46d2e5874286aa9cf7c2cbd348f.tar.gz clang-454b3a6f3d17d46d2e5874286aa9cf7c2cbd348f.tar.bz2 clang-454b3a6f3d17d46d2e5874286aa9cf7c2cbd348f.tar.xz |
clang/unittests/AST,ASTMatchers: Remove _MSC_VER.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201485 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests')
-rw-r--r-- | unittests/AST/DeclPrinterTest.cpp | 17 | ||||
-rw-r--r-- | unittests/ASTMatchers/ASTMatchersTest.cpp | 33 |
2 files changed, 32 insertions, 18 deletions
diff --git a/unittests/AST/DeclPrinterTest.cpp b/unittests/AST/DeclPrinterTest.cpp index 66da386602..570a807dcb 100644 --- a/unittests/AST/DeclPrinterTest.cpp +++ b/unittests/AST/DeclPrinterTest.cpp @@ -143,6 +143,19 @@ public: "input.cc"); } +::testing::AssertionResult PrintedDeclCXX11nonMSCMatches( + StringRef Code, + const DeclarationMatcher &NodeMatch, + StringRef ExpectedPrinted) { + std::vector<std::string> 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<T...>(const A<T...> &a)")); } -#if !defined(_MSC_VER) TEST(DeclPrinter, TestCXXConstructorDecl11) { - ASSERT_TRUE(PrintedDeclCXX11Matches( + ASSERT_TRUE(PrintedDeclCXX11nonMSCMatches( "template<typename... T>" "struct A : public T... {" " A(T&&... ts) : T(ts)... {}" @@ -510,7 +522,6 @@ TEST(DeclPrinter, TestCXXConstructorDecl11) { "A<T...>(T &&ts...) : T(ts)")); // WRONG; Should be: "A(T&&... ts) : T(ts)..." } -#endif TEST(DeclPrinter, TestCXXDestructorDecl1) { ASSERT_TRUE(PrintedDeclCXX98Matches( diff --git a/unittests/ASTMatchers/ASTMatchersTest.cpp b/unittests/ASTMatchers/ASTMatchersTest.cpp index 669978b8a9..d84e6a6ef9 100644 --- a/unittests/ASTMatchers/ASTMatchersTest.cpp +++ b/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 <int N> void g() { f(); }", - CallFunctionF)); - EXPECT_TRUE( - matches("void f(); template <int N> 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 <int N> void g() { f(); }", + CallFunctionF)); + EXPECT_TRUE( + matches("void f(); template <int N> struct S { void g() { f(); } };", + CallFunctionF)); + } // Depedent calls don't match. EXPECT_TRUE( |