From 075b21d4dc39ad89f0e1ceaf11f6438d1c29fec6 Mon Sep 17 00:00:00 2001 From: Sebastian Redl Date: Wed, 14 Oct 2009 14:38:54 +0000 Subject: Do exception spec compatibility tests for member pointers, too. llvm-svn: 84098 --- clang/test/SemaCXX/exception-spec.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'clang/test/SemaCXX/exception-spec.cpp') 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}} +} -- cgit v1.2.3