Commit Graph

143 Commits

Author SHA1 Message Date
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
John McCall 113bee0536 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.

llvm-svn: 152491
2012-03-10 09:33:50 +00:00
Fariborz Jahanian c9295ec7d2 objc modern rewriter: don't export @package ivar symbols.
llvm-svn: 152469
2012-03-10 01:34:42 +00:00
Fariborz Jahanian 2677dede22 Minor change to my last rewrite patch.
llvm-svn: 152461
2012-03-10 00:53:02 +00:00
Fariborz Jahanian 34327fcdae objc modern rewriter: Mark class and ivar definitions with __declspec(dllexport)
// rdar://11023563

llvm-svn: 152459
2012-03-10 00:39:34 +00:00
Fariborz Jahanian c2e2ad6486 objective-c modern rewriter. More fixes related to rewriting
ivars in the modern rewriter.

llvm-svn: 152451
2012-03-09 23:46:23 +00:00
Fariborz Jahanian d7a3261dfb objective-c modern translator. Don't ignore unnamed bitfields
when rewriting.

llvm-svn: 152123
2012-03-06 17:16:27 +00:00
Fariborz Jahanian 1dc712f7cc objective-c modern translator. Fixes misc. bug in writing
the ivar offset symbol.

llvm-svn: 151683
2012-02-29 00:26:20 +00:00
Fariborz Jahanian 265a421dd9 Modern objective-c translator. rewriting ivars of aggregate type.
llvm-svn: 151662
2012-02-28 22:45:07 +00:00
Fariborz Jahanian 0ed6cb75a7 Minor modern rewriter bug showed up during testing
against a large project.

llvm-svn: 151395
2012-02-24 21:42:38 +00:00
Fariborz Jahanian dd5a59baed objc modern translator. Fixes writing of block pointer ivar access.
llvm-svn: 151371
2012-02-24 17:35:35 +00:00
Fariborz Jahanian 5e49eb95b5 modern objc translator. more writing of modern ivar access
abi.

llvm-svn: 151176
2012-02-22 18:13:25 +00:00
Fariborz Jahanian 8e1118cbd5 modern objc translator: fixes a bug where a class declaration with not
any implementation in tu was not being translated.

llvm-svn: 151106
2012-02-21 23:58:41 +00:00
Fariborz Jahanian c481c0c0f5 objective-c modern translator. accessing ivars using modern abi - wip.
llvm-svn: 151103
2012-02-21 23:46:48 +00:00
Fariborz Jahanian a7765fea90 modern objc translator. Finish off first cut of the
modern meta-data translation by commenting out private ivar
declarations in user source. Also, added several tests.

llvm-svn: 150985
2012-02-20 20:09:20 +00:00
Fariborz Jahanian 2b383d21dc objective-c modern translator: comment out private ivars
declared in class extension and implementation.

llvm-svn: 150937
2012-02-19 19:00:05 +00:00
Fariborz Jahanian d268b0caba modern objc translator: postpone writing of class definitions
until the end when all their ivars are known then.

llvm-svn: 150844
2012-02-17 22:20:12 +00:00
Fariborz Jahanian 320c88afce modern objc writer: more work for category metadata rewrite
and some cleanup.

llvm-svn: 150839
2012-02-17 20:33:00 +00:00
Fariborz Jahanian f20550543f modern objc translator: category metadata related
patch.

llvm-svn: 150825
2012-02-17 18:40:41 +00:00
Fariborz Jahanian e7a0c93cd9 objective-c translator. More stuff for modern meta-data.
llvm-svn: 150767
2012-02-17 00:06:14 +00:00
Fariborz Jahanian c41d828053 fix the property list metadata name.
llvm-svn: 150728
2012-02-16 21:57:59 +00:00
Fariborz Jahanian 638252fb5a modern objective-c translator: write the root class meta-data.
llvm-svn: 150726
2012-02-16 21:37:05 +00:00
Fariborz Jahanian 0a25688b74 modern objc translator: meta-data generation for first
part of class meta-data.

llvm-svn: 150714
2012-02-16 18:54:09 +00:00
Fariborz Jahanian ff51338772 objective-c translator: fixes an obscure rewriting bug
which attempted to rewrite the same meta-data twice.

llvm-svn: 150618
2012-02-15 22:01:47 +00:00
Fariborz Jahanian fdc06e32cf modern objective-c translator: start writing the main class
meta-data.

llvm-svn: 150548
2012-02-15 00:50:11 +00:00
Fariborz Jahanian bce36774f0 more objective-c translator for modern abi.
metadata for protocol definitions used on
class qualifiers.

llvm-svn: 150498
2012-02-14 19:31:35 +00:00
Fariborz Jahanian b1ba885b49 more modern objc translator. Focusing on metadata for methods.
llvm-svn: 150490
2012-02-14 17:19:02 +00:00
Fariborz Jahanian 1c1da171a8 modern objc translator. More ivar rewrite work.
llvm-svn: 150415
2012-02-13 21:34:45 +00:00
Fariborz Jahanian 75e71b99ec objc modern translator. ivar offset symbols.
llvm-svn: 150413
2012-02-13 20:59:02 +00:00
Fariborz Jahanian c3cdc41ac7 objective-c translator: more rewriting of ivar types
into a c-type which closely matches the objective-c type.

llvm-svn: 150406
2012-02-13 18:57:49 +00:00
Fariborz Jahanian 245534de7a more of rewriting ivar types.
llvm-svn: 150353
2012-02-12 21:36:23 +00:00
Argyrios Kyrtzidis 75627ad8ba Fix the rewriter that broke with r149987.
r149987 changed the way parsing happens inside an @implementation;
it aggregates the declarations inside and reports them together as a DeclGroup.
This had the side effect that function declarations were reported together with
their definition, while the rewriter expected for function declarations to be
reported immediately to the consumer and thus not have a body.

Fix this by having the rewriter actually check with isThisDeclarationADefinition()
to make sure the body comes from the current decl before rewriting it.

llvm-svn: 150325
2012-02-12 04:48:45 +00:00
Fariborz Jahanian 088959a28b objective-c translator. more modern abi stuff, focusing on ivar related
meta-data.

llvm-svn: 150310
2012-02-11 20:10:52 +00:00
Fariborz Jahanian cb1d9f3706 objc translator: more modern metadata stuff.
llvm-svn: 150281
2012-02-10 23:18:24 +00:00
Fariborz Jahanian 6b83daefd3 objctive-c translator: modern metadata for ivars. wip.
llvm-svn: 150275
2012-02-10 20:47:10 +00:00
Fariborz Jahanian 591b7de030 objc translator: mode modern abi stuff.
llvm-svn: 150212
2012-02-10 00:04:22 +00:00
Fariborz Jahanian a8395a6edb last piece of metadata to complete modern metadata for
protocol definitions.

llvm-svn: 150106
2012-02-08 22:23:26 +00:00
Fariborz Jahanian e18961baaf More rewriting of objective-c moderin abi metadata.
All protocol related metadata is close to completion.

llvm-svn: 150084
2012-02-08 19:53:58 +00:00
Fariborz Jahanian 48985804cd modern objc rewriter: mode metadata stuff. wip.
llvm-svn: 150030
2012-02-08 00:50:52 +00:00
Fariborz Jahanian 67f7c55a9c modern objc abi rewriter: mode protocol metadata
for modern objc abi.

llvm-svn: 150011
2012-02-07 23:31:52 +00:00
Fariborz Jahanian 4aaf8b15c9 objc rewriter: modern metadata for protocol decls. wip.
llvm-svn: 150002
2012-02-07 20:15:08 +00:00
Fariborz Jahanian 1167190344 objc rewriter: start supporting modern objective-c abi
in objective-c rewriter. wip.

llvm-svn: 149989
2012-02-07 17:11:38 +00:00