diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-08-24 17:42:35 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-08-24 17:42:35 +0000 |
commit | b00b10eb2e3d058f3b0a8312b63bb1c3ae8bcc4a (patch) | |
tree | 5367681f6bb2f6d1862025353c013dfd6293f1db /clang/test/SemaCXX/member-pointer.cpp | |
parent | e6434cb421b664f9be7ec2f5fd2f4975a2422f5e (diff) | |
download | bcm5719-llvm-b00b10eb2e3d058f3b0a8312b63bb1c3ae8bcc4a.tar.gz bcm5719-llvm-b00b10eb2e3d058f3b0a8312b63bb1c3ae8bcc4a.zip |
Implement support for equality comparisons (!=, ==) of member
pointers, by extending the "composite pointer type" logic to include
member pointer types.
Introduce test cases for member pointer comparisons, including those
that involve the builtin operator candidates implemented earlier.
llvm-svn: 79925
Diffstat (limited to 'clang/test/SemaCXX/member-pointer.cpp')
-rw-r--r-- | clang/test/SemaCXX/member-pointer.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/member-pointer.cpp b/clang/test/SemaCXX/member-pointer.cpp index 3b106d5576f..9e407a184c3 100644 --- a/clang/test/SemaCXX/member-pointer.cpp +++ b/clang/test/SemaCXX/member-pointer.cpp @@ -40,6 +40,14 @@ void f() { // Conversion to member of base. pdi1 = pdid; // expected-error {{incompatible type assigning 'int struct D::*', expected 'int struct A::*'}} + + // Comparisons + int (A::*pf2)(int, int); + int (D::*pf3)(int, int) = 0; + bool b1 = (pf == pf2); (void)b1; + bool b2 = (pf != pf2); (void)b2; + bool b3 = (pf == pf3); (void)b3; + bool b4 = (pf != 0); (void)b4; } struct TheBase |