diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2012-07-03 23:22:13 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2012-07-03 23:22:13 +0000 |
commit | b0ed95c27318730e265d84227a234e83e5e5523b (patch) | |
tree | c1f902485b64b3f46d1f7809a13929d69895accc /test/SemaObjCXX/delay-parsing-cfunctions.mm | |
parent | fdaa33818cf9bad8d092136e73bd2e489cb821ba (diff) | |
download | clang-b0ed95c27318730e265d84227a234e83e5e5523b.tar.gz |
Obj-C++11 parser: handle a fall out of delayed
c-function parsing when a declaration with
C++0x braced-init-list is inside an @implementation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159693 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaObjCXX/delay-parsing-cfunctions.mm')
-rw-r--r-- | test/SemaObjCXX/delay-parsing-cfunctions.mm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/SemaObjCXX/delay-parsing-cfunctions.mm b/test/SemaObjCXX/delay-parsing-cfunctions.mm new file mode 100644 index 0000000000..8e9c319a0e --- /dev/null +++ b/test/SemaObjCXX/delay-parsing-cfunctions.mm @@ -0,0 +1,43 @@ +// RUN: %clang_cc1 -x objective-c++ -std=c++11 -fsyntax-only -Werror -verify -Wno-objc-root-class %s +// rdar://10387088 + +struct X { +X(); +}; + +@interface MyClass +- (void)someMethod; +@end + +@implementation MyClass +- (void)someMethod { + [self privateMethod]; // clang already does not warn here +} + +int bar(MyClass * myObject) { + [myObject privateMethod]; + return gorfbar(myObject); +} +- (void)privateMethod { } + +int gorfbar(MyClass * myObject) { + [myObject privateMethod]; + [myObject privateMethod1]; + return getMe + bar(myObject); +} + +- (void)privateMethod1 { + getMe = getMe+1; +} + +static int getMe; + +static int test() { + return 0; +} + +int x{17}; + +X::X() = default; + +@end |