summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/member-pointer.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-03-24 19:52:54 +0000
committerDouglas Gregor <dgregor@apple.com>2009-03-24 19:52:54 +0000
commitac1fb65d0cb689134b888e24da8be9de059afd3d (patch)
tree58cb08ce9bcb35f33980b97d137091d496577115 /clang/test/SemaCXX/member-pointer.cpp
parente7e5becdd25e884bb3686663b4406680d2f469c7 (diff)
downloadbcm5719-llvm-ac1fb65d0cb689134b888e24da8be9de059afd3d.tar.gz
bcm5719-llvm-ac1fb65d0cb689134b888e24da8be9de059afd3d.zip
Make sure to use RequireCompleteType rather than testing for
incomplete types. RequireCompleteType is needed when the type may be completed by instantiating a template. llvm-svn: 67643
Diffstat (limited to 'clang/test/SemaCXX/member-pointer.cpp')
-rw-r--r--clang/test/SemaCXX/member-pointer.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/test/SemaCXX/member-pointer.cpp b/clang/test/SemaCXX/member-pointer.cpp
index daee25533fd..11993a1d4bd 100644
--- a/clang/test/SemaCXX/member-pointer.cpp
+++ b/clang/test/SemaCXX/member-pointer.cpp
@@ -80,7 +80,7 @@ void g() {
void (HasMembers::*pmd)() = &HasMembers::d;
}
-struct Incomplete;
+struct Incomplete; // expected-note{{forward declaration}}
void h() {
HasMembers hm, *phm = &hm;
@@ -110,12 +110,12 @@ void h() {
(void)(f.*pai); // expected-error {{left hand operand to .* must be a class compatible with the right hand operand, but is 'struct F'}}
(void)(ptrf->*pai); // expected-error {{left hand operand to ->* must be a pointer to class compatible with the right hand operand, but is 'struct F *'}}
- (void)(hm.*i); // expected-error {{right hand operand to .* must be a pointer to member of a complete class but is 'int'}}
- (void)(phm->*i); // expected-error {{right hand operand to ->* must be a pointer to member of a complete class but is 'int'}}
+ (void)(hm.*i); // expected-error {{pointer-to-member}}
+ (void)(phm->*i); // expected-error {{pointer-to-member}}
Incomplete *inc;
int Incomplete::*pii = 0;
- (void)inc->*pii; // expected-error {{right hand operand to ->* must be a pointer to member of a complete class but is 'int struct Incomplete::*'}}
+ (void)inc->*pii; // expected-error {{right hand operand is a pointer to member of incomplete type 'struct Incomplete'}}
}
struct OverloadsPtrMem
OpenPOWER on IntegriCloud