aboutsummaryrefslogtreecommitdiff
path: root/lib/Rewrite
AgeCommit message (Collapse)Author
2012-03-15modern objective-c translation: writing @try/@catch/@finallyFariborz Jahanian
statements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152875 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-15modern objective-c translator: writing @try/@finally statement.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152867 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-15modern objective-c translator: rewriting of @catch-stmt.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152830 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-15modern objective-c translator: please symbols generatedFariborz Jahanian
for @protocol expression into their own section. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152808 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-14modern objective-c translator: section info.Fariborz Jahanian
and metadata for "non-lazy" class and categories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152751 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-14objective-c modern tranaltor. More section info.Fariborz Jahanian
for misc. objc meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152743 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-14objective-c modern translator.Fariborz Jahanian
Add the _class_ro_t.reserved field for 64bit targets. // rdar://11040024 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152731 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-13objective-c modern rewriter. Do not add _class_ro_t.reserved Fariborz Jahanian
field. // rdar://11040024 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152685 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-13[Sema] Prefer to use ObjCInterfaceDecl's protocol_begin()/protocol_end() ↵Argyrios Kyrtzidis
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152597 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-12modern objective-c translator. @try/@catch translation. wip.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152587 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-12objective-c modern translator: ivar offset symbolsFariborz Jahanian
will reside in .objc_ivar$B sections. // rdar://11023490 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152563 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-11objective-c modern abi rewriter: provide section pragmas forFariborz Jahanian
statically writter metadata. // rdar://11023490 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152546 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-11Unify naming of LangOptions variable/get function across the Clang stack ↵David Blaikie
(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
2012-03-10objective-c modern rewriter: add __declspec(dllexport) to forwardFariborz Jahanian
declaration of class metadata when they are defined later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152500 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-10objc modern rewriter: Define __OBJC2__ in written file.Fariborz Jahanian
// rdar://11024543 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152496 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-10Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr toJohn McCall
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
2012-03-10objc modern rewriter: don't export @package ivar symbols.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152469 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-10Minor change to my last rewrite patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152461 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-10objc modern rewriter: Mark class and ivar definitions with __declspec(dllexport)Fariborz Jahanian
// rdar://11023563 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152459 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-09objective-c modern rewriter. More fixes related to rewritingFariborz Jahanian
ivars in the modern rewriter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152451 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06Add new code migrator support for migrating existing Objective-C code to useTed Kremenek
the new Objective-C NSArray/NSDictionary/NSNumber literal syntax. This introduces a new library, libEdit, which provides a new way to support migration of code that improves on the original ARC migrator. We now believe that most of its functionality can be refactored into the existing libraries, and thus this new library may shortly disappear. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152141 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06objective-c modern translator. Don't ignore unnamed bitfieldsFariborz Jahanian
when rewriting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152123 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06User-defined literals: reject string and character UDLs in all places where theRichard Smith
grammar requires a string-literal and not a user-defined-string-literal. The two constructs are still represented by the same TokenKind, in order to prevent a combinatorial explosion of different kinds of token. A flag on Token tracks whether a ud-suffix is present, in order to prevent clients from needing to look at the token's spelling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152098 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05Fix a -Wstring-plus-int warning.Nico Weber
Patch from Sean Silva <silvas@purdue.edu>! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152030 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-29objective-c modern translator. Fixes misc. bug in writing Fariborz Jahanian
the ivar offset symbol. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151683 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-28Modern objective-c translator. rewriting ivars of aggregate type.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151662 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-24Minor modern rewriter bug showed up during testingFariborz Jahanian
against a large project. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151395 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-24objc modern translator. Fixes writing of block pointer ivar access.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151371 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-22modern objc translator. more writing of modern ivar accessFariborz Jahanian
abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151176 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-21modern objc translator: fixes a bug where a class declaration with notFariborz Jahanian
any implementation in tu was not being translated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151106 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-21objective-c modern translator. accessing ivars using modern abi - wip.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151103 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-20modern objc translator. Finish off first cut of theFariborz Jahanian
modern meta-data translation by commenting out private ivar declarations in user source. Also, added several tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150985 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-19objective-c modern translator: comment out private ivarsFariborz Jahanian
declared in class extension and implementation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150937 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-17modern objc translator: postpone writing of class definitionsFariborz Jahanian
until the end when all their ivars are known then. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150844 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-17modern objc writer: more work for category metadata rewriteFariborz Jahanian
and some cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150839 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-17modern objc translator: category metadata relatedFariborz Jahanian
patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150825 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-17objective-c translator. More stuff for modern meta-data.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150767 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16fix the property list metadata name.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150728 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16modern objective-c translator: write the root class meta-data.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150726 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16modern objc translator: meta-data generation for firstFariborz Jahanian
part of class meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150714 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15objective-c translator: fixes an obscure rewriting bugFariborz Jahanian
which attempted to rewrite the same meta-data twice. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150618 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15modern objective-c translator: start writing the main classFariborz Jahanian
meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150548 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-14more objective-c translator for modern abi.Fariborz Jahanian
metadata for protocol definitions used on class qualifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150498 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-14more modern objc translator. Focusing on metadata for methods.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150490 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-13modern objc translator. More ivar rewrite work.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150415 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-13objc modern translator. ivar offset symbols.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150413 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-13objective-c translator: more rewriting of ivar typesFariborz Jahanian
into a c-type which closely matches the objective-c type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150406 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-12more of rewriting ivar types.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150353 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-12Fix the rewriter that broke with r149987.Argyrios Kyrtzidis
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150325 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-11objective-c translator. more modern abi stuff, focusing on ivar relatedFariborz Jahanian
meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150310 91177308-0d34-0410-b5e6-96231b3b80d8