summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/member-pointer-ms.cpp
diff options
context:
space:
mode:
authorJoao Matos <ripzonetriton@gmail.com>2012-09-02 00:13:48 +0000
committerJoao Matos <ripzonetriton@gmail.com>2012-09-02 00:13:48 +0000
commit26b2095401effe508ee076f53ea1304f64e1f9c2 (patch)
treec169f32b076916fdeee65e5056bd95acfd920d53 /clang/test/SemaCXX/member-pointer-ms.cpp
parent2898134f15b50503f262edf3ca4ae0e254788ec9 (diff)
downloadbcm5719-llvm-26b2095401effe508ee076f53ea1304f64e1f9c2.tar.gz
bcm5719-llvm-26b2095401effe508ee076f53ea1304f64e1f9c2.zip
Added a diagnostic for mismatched MS inheritance attributes. Also fixed the incomplete type member pointer size calculation under the MS ABI.
llvm-svn: 163078
Diffstat (limited to 'clang/test/SemaCXX/member-pointer-ms.cpp')
-rw-r--r--clang/test/SemaCXX/member-pointer-ms.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/clang/test/SemaCXX/member-pointer-ms.cpp b/clang/test/SemaCXX/member-pointer-ms.cpp
index 3b2d0fceb97..90618bc7dce 100644
--- a/clang/test/SemaCXX/member-pointer-ms.cpp
+++ b/clang/test/SemaCXX/member-pointer-ms.cpp
@@ -1,8 +1,4 @@
-// RUN: %clang_cc1 -cxx-abi microsoft -fsyntax-only -verify %s
-
-// Test that we reject pointers to members of incomplete classes (for now)
-struct A; //expected-note{{forward declaration of 'A'}}
-int A::*pai1; //expected-error{{incomplete type 'A'}}
+// RUN: %clang_cc1 -cxx-abi microsoft -fms-compatibility -fsyntax-only -verify %s
// Test that we don't allow reinterpret_casts from pointers of one size to
// pointers of a different size.
@@ -12,3 +8,9 @@ struct C: A, B {};
void (A::*paf)();
void (C::*pcf)() = reinterpret_cast<void (C::*)()>(paf); //expected-error{{cannot reinterpret_cast from member pointer type}}
+
+class __single_inheritance D;
+class __multiple_inheritance D; // expected-warning {{ignored since inheritance model was already declared as 'single'}}
+
+class __virtual_inheritance E;
+class __virtual_inheritance E; // no warning expected since same attribute
OpenPOWER on IntegriCloud