summaryrefslogtreecommitdiffstats
path: root/test/CodeGenObjC
Commit message (Collapse)AuthorAgeFilesLines
* The copy and destroy helper functions aren't prototyped, don't call themEric Christopher2012-04-121-1/+1
| | | | | | so. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154569 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a triple to this test.Eric Christopher2012-04-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154485 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to fix the windows buildbots by making this test a little lessEric Christopher2012-04-111-1/+1
| | | | | | dependent upon metadata ordering. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154482 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable debug info for objective c implementations that may not haveEric Christopher2012-04-114-4/+20
| | | | | | | | an explicit instance variable. rdar://10590352 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154481 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r154321, pending more discussion.David Chisnall2012-04-091-13/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154327 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -fobjc-trace to emit a call before and after each Objective-C message sendDavid Chisnall2012-04-091-0/+13
| | | | | | | | for hooking in code flow visualisation applications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154321 91177308-0d34-0410-b5e6-96231b3b80d8
* Enhance testing a bit to make sure that we're omitting theEric Christopher2012-04-051-0/+2
| | | | | | | | | getter and setter when they're synthesized with the default names. rdar://11179756 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154130 91177308-0d34-0410-b5e6-96231b3b80d8
* Only emit the getter and setter names if they're not the defaultEric Christopher2012-04-053-5/+1
| | | | | | | | synthesized ones. Reasonable debug info size reduction for objc. rdar://11179756 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154129 91177308-0d34-0410-b5e6-96231b3b80d8
* Enter an expression evaluation context when parsingJohn McCall2012-04-041-0/+7
| | | | | | | statement-expressions. Prevents cleanups and such from being claimed by the first full-expression in the block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153989 91177308-0d34-0410-b5e6-96231b3b80d8
* Change location information for synthesized properties to be at theEric Christopher2012-04-033-2/+37
| | | | | | | | | | | | | | | | | | property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration. Use the current scope location as a separate parameter so that we can match it up better in the line table with the beginning of the scope. Update a couple of testcases accordingly since I had to change that we actually use the passed in location in EmitFunctionStart and for the new metadata parameter and add a new testcase to make sure we've got the right line numbers for synthesized properties. Part of rdar://11026482 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153917 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert previous commit changing location information to see if thisEric Christopher2012-03-303-37/+2
| | | | | | is causing the gdb test failures on the bots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153727 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure we perform the relevant implied conversions correctly for ObjC ↵Eli Friedman2012-03-301-12/+4
| | | | | | methods with related result types. PR12384. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153716 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for the previous commit.Eric Christopher2012-03-301-0/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153715 91177308-0d34-0410-b5e6-96231b3b80d8
* Change location information for synthesized properties to be at theEric Christopher2012-03-302-2/+3
| | | | | | | | | | | | | property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration. Update a couple of testcases accordingly since I had to change that we actually use the passed in location in EmitFunctionStart. Fixes rdar://11026482 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153714 91177308-0d34-0410-b5e6-96231b3b80d8
* The UTF16 string referenced by a CFString should go into the __TEXT,__ustringBill Wendling2012-03-301-1/+1
| | | | | | | | | | | | | | section. A 'normal' string will go into the __TEXT,__const section, but this isn't good for UTF16 strings. The __ustring section allows for coalescing, among other niceties (such as allowing the linker to easily split up strings). Instead of outputting the UTF16 string as a series of bytes, output it as a series of shorts. The back-end will then nicely place the UTF16 string into the correct section, because it's a mensch. <rdar://problem/10655949> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153710 91177308-0d34-0410-b5e6-96231b3b80d8
* Go back to using just the selector name for the getter and setterEric Christopher2012-03-291-1/+1
| | | | | | | | in the property debug info. Any more isn't necessary after all. rdar://11144023 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153659 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for objc property decls according to the page at:Eric Christopher2012-03-291-1/+1
| | | | | | | | | | | http://llvm.org/docs/SourceLevelDebugging.html#objcproperty including type and DECL. Expand the getter and setter names into the fully qualified names. rdar://11144023 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153640 91177308-0d34-0410-b5e6-96231b3b80d8
* Add clang support for new Objective-C literal syntax for NSDictionary, NSArray,Ted Kremenek2012-03-069-0/+447
| | | | | | | | | | | | | NSNumber, and boolean literals. This includes both Sema and Codegen support. Included is also support for new Objective-C container subscripting. My apologies for the large patch. It was very difficult to break apart. The patch introduces changes to the driver as well to cause clang to link in additional runtime support when needed to support the new language features. Docs are forthcoming to document the implementation and behavior of these features. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152137 91177308-0d34-0410-b5e6-96231b3b80d8
* Test is fixed.Fariborz Jahanian2012-02-231-9/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151280 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL test until I figure out how to make test pass on different platforms.Fariborz Jahanian2012-02-231-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151277 91177308-0d34-0410-b5e6-96231b3b80d8
* Change test again so it passes in build-bot until I can figure out what isFariborz Jahanian2012-02-231-2/+2
| | | | | | | going on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151275 91177308-0d34-0410-b5e6-96231b3b80d8
* fix test for patch in r151268.Fariborz Jahanian2012-02-231-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151272 91177308-0d34-0410-b5e6-96231b3b80d8
* objective-c default synthesis. classes which adopt protocol propertiesFariborz Jahanian2012-02-231-0/+30
| | | | | | | | | must still auto synthesize those propeties which have been redeclared in the class. // rdar://10907410 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151268 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to handle qualifiers more consistently for array InitListExprs. Fixes ↵Eli Friedman2012-02-231-0/+4
| | | | | | | | | | <rdar://problem/10907510>, and makes the ASTs a bit more self-consistent. (I've chosen to keep the qualifiers, but it isn't a strong preference; if anyone prefers removing them, please yell.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151229 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure null initialization in arrays works correctly with ARC types. ↵Eli Friedman2012-02-221-0/+12
| | | | | | <rdar://problem/10907547>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151133 91177308-0d34-0410-b5e6-96231b3b80d8
* objc IRGen: force CSE of load of ivar offsets by settingFariborz Jahanian2012-02-201-0/+29
| | | | | | | | the 'invariant.load' metadata tag onto those loads. // rdar://10840980 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150994 91177308-0d34-0410-b5e6-96231b3b80d8
* Make test case less sensitive to metadata numbering.Chad Rosier2012-02-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150983 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the type retaining from the clang frontend. This is nowEric Christopher2012-02-201-1/+1
| | | | | | | | | | handled by the caching and rauw. Also fix one cache that wasn't being added to highlighted by this patch. Update all testcases accordingly. This should fix the deall failure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150977 91177308-0d34-0410-b5e6-96231b3b80d8
* Whether an argument is required (in contrast with being anJohn McCall2012-02-171-4/+4
| | | | | | | | | | | | | | | | | | | | | optional argument passed through the variadic ellipsis) potentially affects how we need to lower it. Propagate this information down to the various getFunctionInfo(...) overloads on CodeGenTypes. Furthermore, rename those overloads to clarify their distinct purposes, and make sure we're calling the right one in the right place. This has a nice side-effect of making it easier to construct a function type, since the 'variadic' bit is no longer separable. This shouldn't really change anything for our existing platforms, with one minor exception --- we should now call variadic ObjC methods with the ... in the "right place" (see the test case), which I guess matters for anyone running GNUStep on MIPS. Mostly it's just a substantial clean-up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150788 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix this test to work with and without Asserts mode.Dan Gohman2012-02-161-13/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150713 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test to not depend upon metadata numbers.Bill Wendling2012-02-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150668 91177308-0d34-0410-b5e6-96231b3b80d8
* test/CodeGenObjC/arc-no-arc-exceptions.m: Disable it at -Asserts for now.NAKAMURA Takumi2012-02-161-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150666 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test for r150648.Chad Rosier2012-02-161-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150650 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the new method for specifying garbage collection metadata in the module.Bill Wendling2012-02-163-5/+12
| | | | | | | | | | | The garbage collection metadata needs to be merged "intelligently", when two or more modules are linked together, and not merely appended. (Appending creates a section which is too large.) The module flags metadata method is the way to do this. <rdar://problem/8198537> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150648 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach clang to add metadata tags to calls and invokes in ObjC withDan Gohman2012-02-161-0/+78
| | | | | | | | | | -fno-objc-arc-exceptions. This will allow the optimizer to perform optimizations which are only safe under that flag. This is a part of rdar://10803830. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150644 91177308-0d34-0410-b5e6-96231b3b80d8
* objc-arc: For arc's ivar layout, treat __unsafe_unretained ivarsFariborz Jahanian2012-02-161-0/+11
| | | | | | | as unscanned. // rdar://10832643 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150639 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit debug info for properites that are not backed by an ivar.Devang Patel2012-02-071-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149995 91177308-0d34-0410-b5e6-96231b3b80d8
* Relax valid location check. This fixes a clang crash while emitting debug ↵Devang Patel2012-02-061-0/+17
| | | | | | info for properties that are synthesized by the compiler by default. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149929 91177308-0d34-0410-b5e6-96231b3b80d8
* Let an ivar directly refer property TAG.Devang Patel2012-02-061-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149881 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak failing test added in r149738.Richard Smith2012-02-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149766 91177308-0d34-0410-b5e6-96231b3b80d8
* New test case.Devang Patel2012-02-041-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149738 91177308-0d34-0410-b5e6-96231b3b80d8
* Update tests so that they don't rely upon LLVMDebugVersion number.Devang Patel2012-02-034-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149726 91177308-0d34-0410-b5e6-96231b3b80d8
* fix test.Fariborz Jahanian2012-01-311-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149313 91177308-0d34-0410-b5e6-96231b3b80d8
* test for a v-table dispatch that consumes anFariborz Jahanian2012-01-301-0/+32
| | | | | | | | argument. twik to support the test case. // rdar://10444476 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149298 91177308-0d34-0410-b5e6-96231b3b80d8
* objc-arc: Perform null check on receiver before sending methods whichFariborz Jahanian2012-01-301-2/+7
| | | | | | | | | | consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. In this patch, the null path releases consumed argument. // rdar://10444474 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149279 91177308-0d34-0410-b5e6-96231b3b80d8
* revert r149184Fariborz Jahanian2012-01-291-6/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149205 91177308-0d34-0410-b5e6-96231b3b80d8
* When emitting an ARC epilogue that looks like a return of 'self',John McCall2012-01-291-0/+11
| | | | | | | | kill the retain from the return site. This has the workaround nature. It's badness all around. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149193 91177308-0d34-0410-b5e6-96231b3b80d8
* Get a little bit smarter about killing off the ReturnValue allocaJohn McCall2012-01-291-30/+15
| | | | | | | in the presence of straight-line cleanups. This is a simple but important case, particularly for ARC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149190 91177308-0d34-0410-b5e6-96231b3b80d8
* objc-arc: Perform null check on receiver before sending methods whichFariborz Jahanian2012-01-281-2/+6
| | | | | | | | | consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. // rdar://10444474 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149184 91177308-0d34-0410-b5e6-96231b3b80d8
* When initializing a catch variable in ARC, be sure to emit retainsJohn McCall2012-01-171-0/+45
| | | | | | | | | or whatever else is required for the initialization instead of assuming it can be done with a simple store. Fixes PR11732. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148325 91177308-0d34-0410-b5e6-96231b3b80d8