diff options
author | Joao Matos <ripzonetriton@gmail.com> | 2012-09-02 00:13:48 +0000 |
---|---|---|
committer | Joao Matos <ripzonetriton@gmail.com> | 2012-09-02 00:13:48 +0000 |
commit | 26b2095401effe508ee076f53ea1304f64e1f9c2 (patch) | |
tree | c169f32b076916fdeee65e5056bd95acfd920d53 /clang/test/SemaCXX/member-pointer-ms.cpp | |
parent | 2898134f15b50503f262edf3ca4ae0e254788ec9 (diff) | |
download | bcm5719-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.cpp | 12 |
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 |