Argyrios Kyrtzidis
b2c60b04a5
Move llvm/ADT/SaveAndRestore.h -> llvm/Support/SaveAndRestore.h.
...
Needs llvm update.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151829 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-01 19:45:56 +00:00
Argyrios Kyrtzidis
d45d361f2c
Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h"
...
to make it more widely available.
Depends on llvm commit r151564
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151566 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-27 21:09:45 +00:00
Argyrios Kyrtzidis
63787f0343
[arcmt] GC migrator: don't try to remove redundant __strong, it does
...
more harm than good.
Fixes rdar://10522805&10521433
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151424 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-25 01:57:42 +00:00
Dylan Noblesmith
f7ccbad5d9
Basic: import SmallString<> into clang namespace
...
(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149799 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-05 02:13:05 +00:00
Benjamin Kramer
8fe83e1df9
Move a method from IdentifierTable.h out of line and remove the SmallString include.
...
Fix all the transitive include users.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149783 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-04 13:45:25 +00:00
Argyrios Kyrtzidis
6da4274724
[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
2011-11-28 02:04:36 +00:00
Argyrios Kyrtzidis
6d7d16d45c
[arcmt] Don't add __weak if there is already a GC __weak and make sure to clear
...
__weak from a readonly property.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145210 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 00:23:12 +00:00
Argyrios Kyrtzidis
7cfd7fe020
[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
2011-11-08 02:02:38 +00:00
Argyrios Kyrtzidis
b0e1e121b3
[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
2011-11-07 18:46:46 +00:00
Argyrios Kyrtzidis
bf8455c56c
[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
2011-11-07 18:40:32 +00:00
Argyrios Kyrtzidis
12192cf50a
[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
2011-11-07 18:40:29 +00:00
Argyrios Kyrtzidis
280b4ada96
[arcmt] In GC, error for __strong/__weak on non-objc pointers.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143887 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-06 18:58:23 +00:00
Argyrios Kyrtzidis
17ac319794
[arcmt] In GC, clear redundant __strong's.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143886 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-06 18:58:17 +00:00
Argyrios Kyrtzidis
f38fa73e60
[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
2011-11-06 18:58:03 +00:00