531db82c6ecfb4772c6870731c06ad8718f1e0ce |
|
07-Mar-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a hasExternalLinkage helper. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
9852f58f50b4fc20914fbce5b4454135a42343f4 |
|
01-Dec-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't include Type.h in DeclarationName.h. Recursively prune some includes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
a8eaf008e92759142982f7b40720b2b2674bd663 |
|
23-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix undefined behavior: member function calls where 'this' is a null pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
0a7dd788dbef975f35f273c7ab913f480f7edd60 |
|
21-Aug-2012 |
John McCall <rjmccall@apple.com> |
Screw around with ObjCRuntime some more, changing the diagnostics for bad deployment targets and adding a few more predicates. Includes a patch by Jonathan Schleifer to enable ARC for ObjFW. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
471c8b49982d1132f30b0b0da27fef94fd6e4f67 |
|
04-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Drop the ASTContext.h include from DeclFriend.h and DeclTemplate.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
684190b8dbe5258f4708ffbd816b8c5ee5b3502d |
|
01-Jun-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[arcmt] Use CFBridgingRetain/CFBridgingRelease instead of __bridge_retained/__bridge_transfer when migrating. rdar://11569198 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
262bc18e32500558af7cb0afa205b34bd37bafed |
|
30-Apr-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove the ref/value inconsistency in filter_decl_iterator. filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
44b8e4652d8e20c1e6611b35803e47b4a013b6c2 |
|
17-Mar-2012 |
Jordy Rose <jediknil@belkadan.com> |
Kill cocoa::deriveNamingConvention and cocoa::followsFundamentalRule. They are now just simple wrappers around method families, and method decls can cache method family lookups. Also, no one is using them right now. The one difference between ObjCMethodDecl::getMethodFamily and Selector::getMethodFamily is that the former will do some additional sanity checking, and since CoreFoundation types don't look like Objective-C objects, an otherwise interesting method will get a method family of OMF_None. Future clients that use method families should consider how they want to handle CF types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
19ebac118fbdb6758d4e55be246d72945b8d21b1 |
|
16-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[arcmt] The hard-coded list of weak-incompatible classes is no longer necessary. rdar://10673816 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
2af504bf157cce51bdb4a9bab0e6d3b34f898f6e |
|
16-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[arcmt] iOS is always safe to use 'weak'. rdar://10950825 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d |
|
11-Mar-2012 |
David Blaikie <dblaikie@gmail.com> |
Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
f4b88a45902af1802a1cb42ba48b1c474474f228 |
|
10-Mar-2012 |
John McCall <rjmccall@apple.com> |
Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to track whether the referenced declaration comes from an enclosing local context. I'm amenable to suggestions about the exact meaning of this bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
bbdfad581fa300fa0d162d968ec14de3c95fc760 |
|
26-Jan-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: introduce -no-finalize-removal which in gc mode, leaves "finalize' behind and in arc mode, does not include it. This allows the migrated source to be compiled in both gc and arc mode. // rdar://10532441 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
69bda4c027671df7163619f215209529eb236620 |
|
19-Jan-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For Lexer's isAt[Start/End]OfMacroExpansion add an out parameter for the macro start/end location. It is commonly needed after calling the function; with this way we avoid recalculating it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
7723fec9b45b7258c0eddf4cbfd0d335348f5edc |
|
15-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
Keep track of all declarations of an Objective-C class (both forward declarations and definitions) as ObjCInterfaceDecls within the same redeclaration chain. This new representation matches what we do for C/C++ variables/functions/classes/templates/etc., and makes it possible to answer the query "where are all of the declarations of this class?" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
263d66718365aadc621c3feb9badedf46d787e0e |
|
08-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[arcmt] NSViewController does not support weak. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
a33849b368b0973e64ee9c49af4c080a59f99eb4 |
|
07-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[arcmt] Fix handling NSMakeCollectable inside an objc method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
a64ccefdf0ea4e03ec88805d71b0af74950c7472 |
|
19-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Rename SourceLocation::getFileLocWithOffset -> getLocWithOffset. It already works (and is useful with) macro locs as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
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.cpp
|
edc3dccece244a584f8ebdb81da6c962c08e79be |
|
25-Jul-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Rename SourceManager::getInstantiationRange to getExpansionRange. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
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.cpp
|
433db06b614f26dc6829e86d6ff469e2cca7d4f9 |
|
14-Jul-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Convert terminology in the Lexer from 'instantiate' and variants to 'expand'. Also update the public API it provides to the new term, and propagate that update to the various clients. No functionality changed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
5363e8df5d274cb32c0c47fd2df45aa02cf68dfe |
|
13-Jul-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[arcmt] Also avoid 'weak' for forward references to objc classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
7a759606d93975866051f67104ae58446e55f404 |
|
07-Jul-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Move SourceManager::isAt[Start/End]OfMacroInstantiation functions to the Lexer, since they depend on it now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
7e5e5f4cc36fe50f46ad76dca7a266434c94f475 |
|
07-Jul-2011 |
John McCall <rjmccall@apple.com> |
In ARC, reclaim all return values of retainable type, not just those where we have an immediate need of a retained value. As an exception, don't do this when the call is made as the immediate operand of a __bridge retain. This is more in the way of a workaround than an actual guarantee, so it's acceptable to be brittle here. rdar://problem/9504800 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
b73377eeb3eff76be134203aebb6068244b177f3 |
|
07-Jul-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make the Preprocessor more memory efficient and improve macro instantiation diagnostics. When a macro instantiation occurs, reserve a SLocEntry chunk with length the full length of the macro definition source. Set the spelling location of this chunk to point to the start of the macro definition and any tokens that are lexed directly from the macro definition will get a location from this chunk with the appropriate offset. For any tokens that come from argument expansion, '##' paste operator, etc. have their instantiation location point at the appropriate place in the instantiated macro definition (the argument identifier and the '##' token respectively). This improves macro instantiation diagnostics: Before: t.c:5:9: error: invalid operands to binary expression ('struct S' and 'int') int y = M(/); ^~~~ t.c:5:11: note: instantiated from: int y = M(/); ^ After: t.c:5:9: error: invalid operands to binary expression ('struct S' and 'int') int y = M(/); ^~~~ t.c:3:20: note: instantiated from: \#define M(op) (foo op 3); ~~~ ^ ~ t.c:5:11: note: instantiated from: int y = M(/); ^ The memory savings for a candidate boost library that abuses the preprocessor are: - 32% less SLocEntries (37M -> 25M) - 30% reduction in PCH file size (900M -> 635M) - 50% reduction in memory usage for the SLocEntry table (1.6G -> 800M) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
8e2ce7fdf9e8033b77788662a9c3f61334eb5daf |
|
21-Jun-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[arcmt] Always add '__bridge' cast when 'self' is cast to a C pointer. rdar://9644061 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
7acddacc921cd0b3f813443a8641eeddb82dfbd4 |
|
17-Jun-2011 |
John McCall <rjmccall@apple.com> |
Objective-C fast enumeration loop variables are not retained in ARC, but they should still be officially __strong for the purposes of errors, block capture, etc. Make a new bit on variables, isARCPseudoStrong(), and set this for 'self' and these enumeration-loop variables. Change the code that was looking for the old patterns to look for this bit, and change IR generation to find this bit and treat the resulting variable as __unsafe_unretained for the purposes of init/destroy in the two places it can come up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|
8f0e8d22960d56f8390f4971e2c0f2f0a0884602 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
The ARC Migration Tool. All the credit goes to Argyrios and Fariborz for this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/ARCMigrate/Transforms.cpp
|