Commit Graph

91 Commits

Author SHA1 Message Date
Fariborz Jahanian 08ed8921c7 modern objective-c translator: rewriter linkage spec.
// rdar://11169733

llvm-svn: 153960
2012-04-03 17:35:38 +00:00
Fariborz Jahanian 991a08d35a modern objective-c translator: writing container
literals. wip. // rdar://10803676

llvm-svn: 153784
2012-03-30 23:35:47 +00:00
Fariborz Jahanian 9c967fe51b modern objective-c translator: writing numeric
literals. // rdar://10803676

llvm-svn: 153756
2012-03-30 16:49:36 +00:00
Fariborz Jahanian 064b5386f0 modern objc translator: avoid some duplicate declarations.
llvm-svn: 153674
2012-03-29 19:04:10 +00:00
Fariborz Jahanian f35e020ef3 modern objective-c translator: fix up assortment of
visibility directives for a variety of exported
meta-data symbols. // rdar://11144048

llvm-svn: 153663
2012-03-29 17:51:09 +00:00
Fariborz Jahanian 307b7ad50c modern objective-c translator: writing objc boolean literals.
// rdar://11124775

llvm-svn: 153535
2012-03-27 20:17:30 +00:00
Fariborz Jahanian 5ed21c3154 objective-c modern translator: move all inithooks into a single array
// rdar://11124354

llvm-svn: 153526
2012-03-27 18:41:05 +00:00
Fariborz Jahanian 835cabe92a Remove few if-then-else when both branches are the
same. pr12357.

llvm-svn: 153515
2012-03-27 16:42:20 +00:00
Fariborz Jahanian 38c59108ad Commit patch reverted in r153454 with the modified test
case that I forgot to check in.

llvm-svn: 153512
2012-03-27 16:21:30 +00:00
Daniel Dunbar 94d34ca2d9 Revert r153443 "objective-c modern translator: extern "C" exported", it fails in testing.
llvm-svn: 153454
2012-03-26 18:48:59 +00:00
Fariborz Jahanian c29ebc36b1 objective-c modern translator: extern "C" exported
symbols. // rdar://11103982

llvm-svn: 153443
2012-03-26 16:29:49 +00:00
Fariborz Jahanian 16366da437 remove declaration of _objc_empty_vtable no longer
used in modern objc translator. // rdar://11105680

llvm-svn: 153386
2012-03-24 16:57:13 +00:00
Fariborz Jahanian 341348111d moderin objc translator: remove 'const' from remaining
fields in _class_ro_t metadata. //  rdar://11079898

llvm-svn: 153384
2012-03-24 16:53:16 +00:00
Fariborz Jahanian e005070ccf modern objc translation of block literal expressions
declared at file scope.
// rdar://11006566

llvm-svn: 153293
2012-03-23 00:00:49 +00:00
Fariborz Jahanian bdf975ea3f modern objc rewriter: until we can translate block literals
at global scope properly, issue diagnostics.

llvm-svn: 153271
2012-03-22 19:54:39 +00:00
Fariborz Jahanian ee1db7a0fd modern objective-c rewriter: Fix up translation of
property attributes. // rdar://11095151

llvm-svn: 153261
2012-03-22 17:39:35 +00:00
Fariborz Jahanian 167384d0da modern objective-c translator: Change declaration of
all objc_msgSend unctions to void parameters and void return.
// rdar://11094890

llvm-svn: 153227
2012-03-21 23:41:04 +00:00
Fariborz Jahanian eb4eb5cad9 modern objective-c rewriter: remove 'const' from
pointer field declarations in several meta-data.
// rdar://11079898

llvm-svn: 153196
2012-03-21 16:23:16 +00:00
Fariborz Jahanian e9de728afc Undo previous patch as I checked more than I intended.
llvm-svn: 153193
2012-03-21 16:18:21 +00:00
Fariborz Jahanian fbe392eed6 modern objective-c rewriter: remove 'const' from
pointer field declarations in several meta-data.
// rdar://11079898

llvm-svn: 153192
2012-03-21 16:17:22 +00:00
NAKAMURA Takumi 3eb0edde78 RewriteModernObjC.cpp: Don't expose temporary std::string with StringRef. (StringRef)getName() can be used here.
llvm-svn: 153156
2012-03-21 03:21:46 +00:00
Fariborz Jahanian 69a76e98fe Close the paren.
// rdar://11076938

llvm-svn: 153151
2012-03-21 00:01:15 +00:00
Fariborz Jahanian 952c3b9512 modern objective-c translator: insert couple of pragmas for optimization.
// rdar://11079898

llvm-svn: 153145
2012-03-20 22:24:05 +00:00
Fariborz Jahanian cd79a49f37 modern objective-c translator: add static function to initialize
the class pointer in the category structure.
// rdar://11076938

llvm-svn: 153138
2012-03-20 21:41:28 +00:00
Fariborz Jahanian 3546559863 more modern objective-c meta-data stuff.
llvm-svn: 153127
2012-03-20 21:09:58 +00:00
Fariborz Jahanian 40ca00dc4c modern objective-c translator: provide meta-data initialization
via functions for certain pointer initialization
fields. // rdar://11076938

llvm-svn: 153117
2012-03-20 19:54:33 +00:00
Fariborz Jahanian 6e60c1376f modern objective-c translator: couple of minor
changes to how meta-data is declared. 
// rdar://11076938

llvm-svn: 153098
2012-03-20 17:34:50 +00:00
Fariborz Jahanian a854174a23 objective-c modern translator: Refactor intername ivar names to
one place and use it throughout. Also, change ivar name to avoid
name collisions. // rdar://11079366

llvm-svn: 153093
2012-03-20 17:13:39 +00:00
Fariborz Jahanian 62a5e65d54 removed unused code in the modern objc rewriter file.
llvm-svn: 153052
2012-03-19 20:38:08 +00:00
Fariborz Jahanian 3466059001 modern objective-c translator: fix type of objc_exception_throw
declaration and its siblings.

llvm-svn: 153043
2012-03-19 18:11:32 +00:00
Fariborz Jahanian e8810768a9 modern objective-c rewriter: further improvement in
writing @synchronized statement; do not call locking
expression more than once and support early exits in
@synchronized's statement block (such as return).

llvm-svn: 152993
2012-03-17 17:46:02 +00:00
Matt Beaumont-Gay 6e177d3155 sink variable into assert
llvm-svn: 152955
2012-03-16 22:20:39 +00:00
Fariborz Jahanian 1d24a02577 Minor clean up of my last patch.
llvm-svn: 152950
2012-03-16 21:43:45 +00:00
Fariborz Jahanian fe6268e34a modern objective-c translator: write @synchronized.
// rdar://11063663

llvm-svn: 152949
2012-03-16 21:33:16 +00:00
Fariborz Jahanian 52fe6a0da3 modern objective-c translator: writing @throw statement.
llvm-svn: 152931
2012-03-16 16:52:06 +00:00
Fariborz Jahanian b960db4427 modern objective-c translation: writing @try/@catch/@finally
statements.

llvm-svn: 152875
2012-03-15 23:50:33 +00:00
Fariborz Jahanian 3b71b17753 modern objective-c translator: writing @try/@finally statement.
llvm-svn: 152867
2012-03-15 22:42:15 +00:00
Fariborz Jahanian f232bb421a modern objective-c translator: rewriting of @catch-stmt.
llvm-svn: 152830
2012-03-15 20:11:10 +00:00
Fariborz Jahanian b31e3af6fb modern objective-c translator: please symbols generated
for @protocol expression into their own section.

llvm-svn: 152808
2012-03-15 17:05:33 +00:00
Fariborz Jahanian 07a423d652 modern objective-c translator: section info.
and metadata for "non-lazy" class and categories.

llvm-svn: 152751
2012-03-14 23:18:19 +00:00
Fariborz Jahanian ddddca3e6d objective-c modern tranaltor. More section info.
for misc. objc meta-data.

llvm-svn: 152743
2012-03-14 21:44:09 +00:00
Fariborz Jahanian 4548962f00 objective-c modern translator.
Add the _class_ro_t.reserved field for 64bit targets.
// rdar://11040024

llvm-svn: 152731
2012-03-14 18:09:23 +00:00
Fariborz Jahanian fff69d077f objective-c modern rewriter. Do not add _class_ro_t.reserved
field. // rdar://11040024

llvm-svn: 152685
2012-03-13 23:48:09 +00:00
Argyrios Kyrtzidis e7f3ef39bf [Sema] Prefer to use ObjCInterfaceDecl's protocol_begin()/protocol_end() iterators instead of
ObjCInterfaceDecl::getReferencedProtocols(), because the iterators are safe to use
even if the caller did not check that the interface is a definition.

llvm-svn: 152597
2012-03-13 01:09:41 +00:00
Fariborz Jahanian 2cc29afe48 modern objective-c translator. @try/@catch translation. wip.
llvm-svn: 152587
2012-03-12 23:58:28 +00:00
Fariborz Jahanian e47bf2b991 objective-c modern translator: ivar offset symbols
will reside in .objc_ivar$B sections. // rdar://11023490

llvm-svn: 152563
2012-03-12 16:46:58 +00:00
Fariborz Jahanian 008dfe2fb3 objective-c modern abi rewriter: provide section pragmas for
statically writter metadata.
// rdar://11023490

llvm-svn: 152546
2012-03-11 19:41:56 +00:00
David Blaikie bbafb8a745 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

llvm-svn: 152536
2012-03-11 07:00:24 +00:00
Fariborz Jahanian fca65102a2 objective-c modern rewriter: add __declspec(dllexport) to forward
declaration of class metadata when they are defined later.

llvm-svn: 152500
2012-03-10 18:25:06 +00:00
Fariborz Jahanian b52221e941 objc modern rewriter: Define __OBJC2__ in written file.
// rdar://11024543

llvm-svn: 152496
2012-03-10 17:45:38 +00:00