aboutsummaryrefslogtreecommitdiff
path: root/lib/Rewrite
AgeCommit message (Collapse)Author
2012-05-08Modern objective-c translation. Translating defaultFariborz Jahanian
synthesis of property getter/setters. // rdar://11374235 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156447 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-08modern objc translation. objc_getClass() and objc_getMetaClass()Fariborz Jahanian
prototypes should both return `struct objc_class *`. // rdar://11375495 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156418 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-07Revert r156097, which appears to be causing some breakage.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156304 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03objc modern translator: fix up attribute for dynamic property in a category.Fariborz Jahanian
// rdar://11095151 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156127 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03modern objc translator: support for default propertyFariborz Jahanian
synthesis translation. // rdar://11374235 - wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156125 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03modern objc translator: used size_t in coupleFariborz Jahanian
of places. // rdar://11375908 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156106 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03modern objc translation. objc_getClass() and objc_getMetaClass()Fariborz Jahanian
prototypes should both return `struct objc_class *`. // rdar://11375495 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156097 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-02modern objective-c translator: Fix destructor def.Fariborz Jahanian
for __NSContainer_literal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156035 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-02Modern objective-c translation: Fixing couple of bugsFariborz Jahanian
related to laying out ivar structs and accessing non-fragile-ivar in more compilated cases. // rdar://11323187 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156004 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-01modern objective-c translation of private ivars.Fariborz Jahanian
// rdar://11351299 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155921 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-30modern objective-c translator. named aggregate typesFariborz Jahanian
defined inside the objc class belong to class's decl. scope. This is to conform to objective-c rules. // rdar://11351299 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155855 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-30minor refactoring of modern objc translator.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155843 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-30modern objective-c translation: de-virtualize allFariborz Jahanian
local rewriting functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155826 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-30Remove the ref/value inconsistency in filter_decl_iterator.David Blaikie
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
2012-04-27objective-c modern translator: Correctly translateFariborz Jahanian
nonfragile ivar access code when ivar type is a locally defined struct/union type. // rdar://11323187 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155740 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-27modern objective-c translator: _OBJC_PROTOCOL_REFERENCE_* Fariborz Jahanian
symbols should be static. // rdar://11337074 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155736 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-26modern objective-c transltion: Fixes a translation bugFariborz Jahanian
of writing a __block variable being initialized with a constructed object. // rdar://11326988 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155673 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-25modern objc rewriter: fixes a bug writing Fariborz Jahanian
a const qualified static c-function. // rdar://11314329 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155564 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-24modern objc translator: Allow writing of multipleFariborz Jahanian
declaration of __block variables on same lines with initializers. // rdsr://7547630 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155473 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-24objc modern rewriter: allow translation ofFariborz Jahanian
multiple declaration of block variables (with no initializer) on the same line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155462 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-24objc modern rewriter: minor refactoring.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155449 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19objective-c modern translator: Further improving the lastFariborz Jahanian
patch fixing writing a spurious 'static' into the wrong place. // rdar://11275241 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155130 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19modern objective-c translator: Fix writing a spurious 'static'Fariborz Jahanian
into the wrong place when rewriting a static function which declares block literals. // rdar://11275241 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155084 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19Implements boxed expressions for Objective-C. <rdar://problem/10194391>Patrick Beard
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155082 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-17objective-c modern translation. Correct rewriting ofFariborz Jahanian
block meta-data of block literals declared inside of extern "C" functions. // rdar://1131490 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154939 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16Modern objective-c translator:'self' used insideFariborz Jahanian
block literal is imported. // rdar://11259664 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154876 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16modern objective-c translator: translation of implicitFariborz Jahanian
cast to/from block pointer types. // rdar://11202764 Also, many more modern translator tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154869 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-15Actually, this tree isn't necessarily binary.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154762 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-15Recursively delete rewrite rope nodes when tearing down the tree.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154760 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-14objective-c modern translator: Make metadataFariborz Jahanian
definition for protocols static. // rdar://11248048 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154753 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-13modern objective-c translator: Fixes translation ofFariborz Jahanian
__typeof which is a regression by reverting r154360. // rdar://11233924 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154679 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-13modern objective-c translator: When translatingFariborz Jahanian
call to 'super' use __rw_objc_super as type of the 'super' meta-data instead of objc_super. // rdar://11239894 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154670 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-12objective-c modern translator: beautify rewrite ofFariborz Jahanian
struct __rw_objc_super; no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154632 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-12modern objective-c translator. ifdef'out Fariborz Jahanian
__weak and __block when rewriting. // rdar://11236342 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154592 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-11modern objective-c translator. Fixes a mis-translation whenFariborz Jahanian
of a __block struct object. // rdar://11230308 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154566 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-11modern objective-c translator. Fixes a translation bug when Fariborz Jahanian
first ivar in the list is a bitfield. // rdar://11229770 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154534 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-10modern objective-c translation: writing containerFariborz Jahanian
subscripting. // rdar://11203853 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154441 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-10objective-c modern translator: rewriting specificFariborz Jahanian
implicit casts which is needed to produce good c++ code. // rdar://11202764 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154360 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-06modern objective-c translation: support for Fariborz Jahanian
dictionary literals. This concludes // rdar://10803676 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154218 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-06modern objective-c translator: translate array literalFariborz Jahanian
expressions. // rdar://10803676 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154196 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-04objective-c modern translation. Remove commenting outFariborz Jahanian
of extern "C". // rdar://11169733 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154025 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-03modern objective-c translator: rewriter linkage spec.Fariborz Jahanian
// rdar://11169733 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153960 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-30modern objective-c translator: writing containerFariborz Jahanian
literals. wip. // rdar://10803676 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153784 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-30modern objective-c translator: writing numericFariborz Jahanian
literals. // rdar://10803676 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153756 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-29modern objc translator: avoid some duplicate declarations.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153674 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-29modern objective-c translator: fix up assortment ofFariborz Jahanian
visibility directives for a variety of exported meta-data symbols. // rdar://11144048 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153663 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-27modern objective-c translator: writing objc boolean literals.Fariborz Jahanian
// rdar://11124775 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153535 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-27objective-c modern translator: move all inithooks into a single arrayFariborz Jahanian
// rdar://11124354 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153526 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-27Remove few if-then-else when both branches are theFariborz Jahanian
same. pr12357. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153515 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-27Commit patch reverted in r153454 with the modified testFariborz Jahanian
case that I forgot to check in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153512 91177308-0d34-0410-b5e6-96231b3b80d8