forked from OSchip/llvm-project
clang/unittests/AST,ASTMatchers: Remove _MSC_VER.
llvm-svn: 201485
This commit is contained in:
parent
0884887775
commit
7d2da0b2ae
|
@ -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(
|
||||
|
|
|
@ -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(
|
||||
|
|
Loading…
Reference in New Issue