reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -fobjc-arc -x objective-c++ %s.result // RUN: arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c++ %s > %t // RUN: diff %t %s.result #include "Common.h" @interface NSString : NSObject +(id)string; @end struct foo { NSString *s; foo(NSString *s): s([s retain]){ NSAutoreleasePool *pool = [NSAutoreleasePool new]; [[[NSString string] retain] release]; [pool drain]; if (s) [s release]; } ~foo(){ [s release]; } private: foo(foo const &); foo &operator=(foo const &); }; int main(){ NSAutoreleasePool *pool = [NSAutoreleasePool new]; foo f([[NSString string] autorelease]); [pool drain]; return 0; } |