clang/unittests/AST,ASTMatchers: Remove _MSC_VER.

llvm-svn: 201485
This commit is contained in:
NAKAMURA Takumi 2014-02-16 10:16:09 +00:00
parent 0884887775
commit 7d2da0b2ae
2 changed files with 32 additions and 18 deletions

View File

@ -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(

View File

@ -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(