diff options
author | rdivacky <rdivacky@FreeBSD.org> | 2010-05-04 16:12:48 +0000 |
---|---|---|
committer | rdivacky <rdivacky@FreeBSD.org> | 2010-05-04 16:12:48 +0000 |
commit | 8aaf5818a64e9f7687798852af5945b053c68a54 (patch) | |
tree | d6a70c3518b8dea8be7062438d7e8676820ed17f /test/SemaCXX/member-pointer.cpp | |
parent | 71438373cd57f0d5d8c93bb5cf690844a0fbc9d0 (diff) | |
download | FreeBSD-src-8aaf5818a64e9f7687798852af5945b053c68a54.zip FreeBSD-src-8aaf5818a64e9f7687798852af5945b053c68a54.tar.gz |
Update clang to r103004.
Diffstat (limited to 'test/SemaCXX/member-pointer.cpp')
-rw-r--r-- | test/SemaCXX/member-pointer.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/test/SemaCXX/member-pointer.cpp b/test/SemaCXX/member-pointer.cpp index 92ae92d..be25cbd 100644 --- a/test/SemaCXX/member-pointer.cpp +++ b/test/SemaCXX/member-pointer.cpp @@ -38,7 +38,7 @@ void f() { int G::*pdig = pdi1; // expected-error {{conversion from pointer to member of class 'A' to pointer to member of class 'G' via virtual base 'D' is not allowed}} // Conversion to member of base. - pdi1 = pdid; // expected-error {{incompatible type assigning 'int D::*', expected 'int A::*'}} + pdi1 = pdid; // expected-error {{assigning to 'int A::*' from incompatible type 'int D::*'}} // Comparisons int (A::*pf2)(int, int); @@ -88,7 +88,7 @@ void g() { void (HasMembers::*pmd)() = &HasMembers::d; } -struct Incomplete; +struct Incomplete; // expected-note {{forward declaration}} void h() { HasMembers hm, *phm = &hm; @@ -123,7 +123,7 @@ void h() { Incomplete *inc; int Incomplete::*pii = 0; - (void)(inc->*pii); // okay + (void)(inc->*pii); // expected-error {{pointer into incomplete}} } struct OverloadsPtrMem @@ -147,3 +147,13 @@ namespace pr5985 { } }; } + +namespace pr6783 { + struct Base {}; + struct X; // expected-note {{forward declaration}} + + int test1(int Base::* p2m, X* object) + { + return object->*p2m; // expected-error {{left hand operand to ->*}} + } +} |