Fixes the MSVC build.

llvm-svn: 159992
This commit is contained in:
Manuel Klimek 2012-07-10 14:21:30 +00:00
parent d908ddc186
commit a9c86c980b
4 changed files with 14 additions and 0 deletions

View File

@ -6,3 +6,5 @@
// CHECK: C++ requires
invalid;
// REQUIRES: shell

View File

@ -6,3 +6,5 @@
// CHECK: C++ requires
invalid;
// REQUIRES: shell

View File

@ -6,3 +6,5 @@
// CHECK: C++ requires
invalid;
// REQUIRES: shell

View File

@ -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 <int N> void g() { f(); }",
CallFunctionF));
EXPECT_TRUE(
matches("void f(); template <int N> struct S { void g() { f(); } };",
CallFunctionF));
#endif
// Depedent calls don't match.
EXPECT_TRUE(