History log of /external/clang/lib/ARCMigrate/Transforms.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/ARCMigrate/Transforms.h
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/ARCMigrate/Transforms.h
1f9a09d4e50c3e8e622292350823eef776b93e3d 11-Oct-2013 Fariborz Jahanian <fjahanian@apple.com> ObjectiveC migrator: fixes a bug when in NS_ENUM/NS_OPTIONS
migration, the typedef has annotations.
// rdar://15200602


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
8ef8f161f690345618620bfa304f52d3a2dab360 11-Apr-2013 NAKAMURA Takumi <geek4civic@gmail.com> ARCMigrate/Transforms.h: Remove \arg in comment. [-Wdocumentation]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
20bcd4ead46e3764a5d1279845f8ed351f4d3984 04-Jan-2013 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Allow removing an -autorelease of a variable initialized in the previous statement.

rdar://11074996

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
ea2224d7078c4d31ad32adbaba4bdc2d85a3d609 04-Jan-2013 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Adds brackets in case statements that "contain" initialization of retaining
variable, thus emitting the "switch case is in protected scope" error.

rdar://12952016

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
55fc873017f10f6f566b182b70f6fc22aefa3464 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort all of Clang's files under 'lib', and fix up the broken headers
uncovered.

This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.

I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
accaf19bc1129c0273ec50dba52318e60bc29103 14-Nov-2012 Benjamin Kramer <benny.kra@googlemail.com> s/tranform/transform/

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
76a5245d7fb558625453ebe2281ee0bc9c93c245 07-Jun-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] At an unbridged cast error, if we're returning a load-of-ivar from a +0 method,
automatically insert a __bridge cast.

radar://11560638

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
1b8fbd3601e009803565e74d2ec54abecb5cbf73 23-May-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Remove an unused -autorelease, without failing with error, for this
idiom that is used commonly in setters:

[backingValue autorelease];
backingValue = [newValue retain]; // in general a +1 assign

rdar://9914061

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
2a2781805a6b55573d369e34c5dcfba307ce83e9 05-Mar-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt]
-Make sure we don't change to '__weak' a __block variable used as output.
-Make sure we don't apply __weak twice.

Fixes rdar://10520757&10521362

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
6da4274724f6bd0f24f0fbfd1af076cd14b14710 28-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Integrate GC __weak into property attributes even when we don't have
the implementation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
7cfd7fe020144afe61ffe4de6c43c10340c415a7 08-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] When we already removed a __weak, don't try to change it to __unsafe_unretained
later on, or we will end up with a redundant '__unsafe_unretained'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
b0e1e121b32a9a04b39f1b77b3068bce2f3be05a 07-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] In GC, handle (assign) @properties.

-Move __strong/__weak added to a property type to the property attribute,
e.g. "@property (assign) __weak Foo *prop;" --> "@property (weak) Foo *prop;"

-Remove (assign) in a property so that it becomes strong-by-default in ARC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
bf8455c56cc5e328c31a2b56f5587cd0873ba0ae 07-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Map property decls to their GC attributes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
12192cf50a96cb59a3039af044b7fa97f043101c 07-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] In GC, change '__weak' -> '__unsafe_unretained' when applied
to objects of classes that don't support ARC weak

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
17ac3197941b9f135424dfe3900577a04407c5c2 06-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] In GC, clear redundant __strong's.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
f38fa73e605587abfa32ab6a39887cdebc0a320a 06-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Collect all the places where GC attributes __strong/__weak occur.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
b0d5db1b7cac1a0680877c17fe92c6d64cf1c730 06-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Refactor PropertiesRewriter to use MigrationContext.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
1fe4203ca05d0a3283efc8a2e8c01ecdf78fbf2e 05-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] In GC, error out when there is a call that returns a pointer to
GC managed non-objc object memory.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
e7ef8556f4ee3012a0479308c993af0fbee448df 04-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] For GC, cleanup and turn -finalize to -dealloc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
e0ac7454bae910ab3d67a92f6e2e5046d3bb8c1a 04-Nov-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] In GC, transform NSMakeCollectable to CFBridgingRelease.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
aec230d29835285777ecc467e268c83b33a2adde 01-Sep-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Fix test/ARCMT/remove-statements.m regression due to
Objective-C method buffering(rdar://10056942)

Turned out the same issue existed for C++ inline methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
18fd0c6915b45c4daafe18e3cd324c13306f913f 27-Jul-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] More automatic transformations and safety improvements; rdar://9615812 :

- Replace calling -zone with 'nil'. -zone is obsolete in ARC.
- Allow removing retain/release on a static global var.
- Fix assertion hit when scanning for name references outside a NSAutoreleasePool scope.
- Automatically add bridged casts for results of objc method calls and when calling CFRetain, for example:

NSString *s;
CFStringRef ref = [s string]; -> CFStringRef ref = (__bridge CFStringRef)([s string]);
ref = s.string; -> ref = (__bridge CFStringRef)(s.string);
ref = [NSString new]; -> ref = (__bridge_retained CFStringRef)([NSString new]);
ref = [s newString]; -> ref = (__bridge_retained CFStringRef)([s newString]);
ref = [[NSString alloc] init]; -> ref = (__bridge_retained CFStringRef)([[NSString alloc] init]);
ref = [[s string] retain]; -> ref = (__bridge_retained CFStringRef)([s string]);
ref = CFRetain(s); -> ref = (__bridge_retained CFTypeRef)(s);
ref = [s retain]; -> ref = (__bridge_retained CFStringRef)(s);

- Emit migrator error when trying to cast to CF type the result of autorelease/release:
for

CFStringRef f3() {
return (CFStringRef)[[[NSString alloc] init] autorelease];
}

emits:

t.m:12:10: error: [rewriter] it is not safe to cast to 'CFStringRef' the result of 'autorelease' message; a __bridge cast may result in a pointer to a destroyed object and a __bridge_retained may leak the object
return (CFStringRef)[[[NSString alloc] init] autorelease];
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t.m:12:3: note: [rewriter] remove the cast and change return type of function to 'NSString *' to have the object automatically autoreleased
return (CFStringRef)[[[NSString alloc] init] autorelease];
^

- Before changing attributes to weak/unsafe_unretained, check if the backing ivar
is set to a +1 object, in which case use 'strong' instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
fd10398c10ffdcbdeb1e3e299c74d70e689f503c 18-Jul-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] NSInvocation's [get/set]ReturnValue and [get/set]Argument are only safe
with __unsafe_unretained parameters. Emit error for strong/weak ones. rdar://9206226

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
2c18ca0575b60082f2a9f4563b4071071960d37c 15-Jul-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Don't remove retains/releases on a global variable, flag them with errors. rdar://9402555.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
14c4b4405fdbb54445c2d2d6320ed4f9e2326696 13-Jul-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] For properties rewrite 'assign' -> 'weak or unsafe_unretained', 'retain' -> 'strong', and add
'weak or unsafe_unretained' when 'assign' is missing. rdar://9496219&9602589.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
86625b5650cdddc38c0b4cc1eb7fb460478c9d11 13-Jul-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Before applying '__weak' check whether the objc class is annotated with objc_arc_weak_reference_unavailable
or is in a list of classes not supporting 'weak'.

rdar://9489367.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
b1094a0621c3bf91141f7cd9684ca80b357ae61e 23-Jun-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Fully migrate ObjC++ classes, rdar://9660007.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
7707c75ff98e26aa939557e3bf80490556c00ae4 23-Jun-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Remove rewriteAllocCopyWithZone transformation; not needed anymore.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
fd3455a9ebecf67b9a1c46f0675697bf518e6b80 21-Jun-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Merge 'removeEmptyStatements' and 'removeDeallocMethod' passes to cut down on one compilation
pass and increase migration speed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h
7196d06c2fb020a91a26e727be1871110b4a0dc9 21-Jun-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [arcmt] Break apart Transforms.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.h