| // RUN: %clang_cc1 -x objective-c++ -fcxx-exceptions -fsyntax-only -Werror -verify -Wno-objc-root-class %s |
| BadReturn(MyClass * myObject); |
| int bar(MyClass * myObject); |
| void MemFunc(MyClass * myObject); |
| [self privateMethod]; // clang already does not warn here |
| int BadReturn::bar(MyClass * myObject) { |
| [myObject privateMethod]; |
| BadReturn::BadReturn(MyClass * myObject) try : CObj(myObject) { |
| [myObject privateMethod]; |
| [myObject privateMethod1]; |
| getMe = bar(myObject); // expected-error {{cannot refer to a non-static member from the handler of a constructor function try block}} |
| [CObj privateMethod1]; // expected-error {{cannot refer to a non-static member from the handler of a constructor function try block}} |
| i = ei; // expected-error {{cannot refer to a non-static member from the handler of a constructor function try block}} |
| i = 0; // expected-error {{cannot refer to a non-static member from the handler of a constructor function try block}} |
| void BadReturn::MemFunc(MyClass * myObject) try { |
| [myObject privateMethod]; |
| [myObject privateMethod1]; |
| - (void)privateMethod { } |