summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2009-10-14 14:38:54 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2009-10-14 14:38:54 +0000
commit075b21d4dc39ad89f0e1ceaf11f6438d1c29fec6 (patch)
tree5b4e4b333971094b07975ff2d55548f03e316fca /clang/test
parentedea326896b62016f2cda2a8606298cfef8d7845 (diff)
downloadbcm5719-llvm-075b21d4dc39ad89f0e1ceaf11f6438d1c29fec6.tar.gz
bcm5719-llvm-075b21d4dc39ad89f0e1ceaf11f6438d1c29fec6.zip
Do exception spec compatibility tests for member pointers, too.
llvm-svn: 84098
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaCXX/exception-spec.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/exception-spec.cpp b/clang/test/SemaCXX/exception-spec.cpp
index bd22bf3ddd9..f55a4494ea4 100644
--- a/clang/test/SemaCXX/exception-spec.cpp
+++ b/clang/test/SemaCXX/exception-spec.cpp
@@ -166,3 +166,17 @@ void fnptrs()
void (*t11)(void (*)() throw(A)) = &s9; // expected-error {{argument types differ}} expected-error {{incompatible type}} expected-warning{{disambiguated}}
void (*t12)(void (*)() throw(D)) = &s9; // expected-error {{argument types differ}} expected-error {{incompatible type}} expected-warning{{disambiguated}}
}
+
+// Member function stuff
+
+struct Str1 { void f() throw(int); }; // expected-note {{previous declaration}}
+void Str1::f() // expected-error {{does not match previous declaration}}
+{
+}
+
+void mfnptr()
+{
+ void (Str1::*pfn1)() throw(int) = &Str1::f; // valid
+ void (Str1::*pfn2)() = &Str1::f; // valid
+ void (Str1::*pfn3)() throw() = &Str1::f; // expected-error {{not superset}} expected-error {{incompatible type}}
+}
OpenPOWER on IntegriCloud