diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-01-28 18:33:18 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-01-28 18:33:18 +0000 |
commit | ed8f2003185cc08916eec500df1d1c0cb88de889 (patch) | |
tree | 10b7e1e8b5959d80a457f86b9d1be0e44c9b7541 /clang/test/SemaCXX/member-pointer.cpp | |
parent | e7d7b0c2fd6af35434678bc097eb981a9aa73a13 (diff) | |
download | bcm5719-llvm-ed8f2003185cc08916eec500df1d1c0cb88de889.tar.gz bcm5719-llvm-ed8f2003185cc08916eec500df1d1c0cb88de889.zip |
Implement pointer to member handling in static_cast.
Fix a stupid mistake in UnwrapSimilarPointers that made any two member pointers compatible as long as the pointee was the same.
Make a few style corrections as suggested by Chris.
llvm-svn: 63215
Diffstat (limited to 'clang/test/SemaCXX/member-pointer.cpp')
-rw-r--r-- | clang/test/SemaCXX/member-pointer.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/member-pointer.cpp b/clang/test/SemaCXX/member-pointer.cpp index bcd3dd65e84..31973c12570 100644 --- a/clang/test/SemaCXX/member-pointer.cpp +++ b/clang/test/SemaCXX/member-pointer.cpp @@ -36,4 +36,7 @@ void f() { // Fail conversion due to ambiguity and virtuality. int F::*pdif = pdi1; // expected-error {{ambiguous conversion from pointer to member of base class 'struct A' to pointer to member of derived class 'struct F'}} expected-error {{incompatible type}} int G::*pdig = pdi1; // expected-error {{conversion from pointer to member of class 'struct A' to pointer to member of class 'struct G' via virtual base 'struct D' is not allowed}} expected-error {{incompatible type}} + + // Conversion to member of base. + pdi1 = pdid; // expected-error {{incompatible type assigning 'int struct D::*', expected 'int struct A::*'}} } |