aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenObjC
AgeCommit message (Collapse)Author
2012-04-09Revert r154321, pending more discussion.David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154327 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-09Add -fobjc-trace to emit a call before and after each Objective-C message sendDavid Chisnall
for hooking in code flow visualisation applications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154321 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-05Enhance testing a bit to make sure that we're omitting theEric Christopher
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
2012-04-05Only emit the getter and setter names if they're not the defaultEric Christopher
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
2012-04-04Enter an expression evaluation context when parsingJohn McCall
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
2012-04-03Change location information for synthesized properties to be at theEric Christopher
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
2012-03-30Revert previous commit changing location information to see if thisEric Christopher
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
2012-03-30Make sure we perform the relevant implied conversions correctly for ObjC ↵Eli Friedman
methods with related result types. PR12384. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153716 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-30Testcase for the previous commit.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153715 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-30Change location information for synthesized properties to be at theEric Christopher
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
2012-03-30The UTF16 string referenced by a CFString should go into the __TEXT,__ustringBill Wendling
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
2012-03-29Go back to using just the selector name for the getter and setterEric Christopher
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
2012-03-29 Add support for objc property decls according to the page at:Eric Christopher
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
2012-03-06Add clang support for new Objective-C literal syntax for NSDictionary, NSArray,Ted Kremenek
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
2012-02-23Test is fixed.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151280 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23XFAIL test until I figure out how to make test pass on different platforms.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151277 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23Change test again so it passes in build-bot until I can figure out what isFariborz Jahanian
going on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151275 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23fix test for patch in r151268.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151272 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23objective-c default synthesis. classes which adopt protocol propertiesFariborz Jahanian
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
2012-02-23Try to handle qualifiers more consistently for array InitListExprs. Fixes ↵Eli Friedman
<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
2012-02-22Make sure null initialization in arrays works correctly with ARC types. ↵Eli Friedman
<rdar://problem/10907547>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151133 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-20objc IRGen: force CSE of load of ivar offsets by settingFariborz Jahanian
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
2012-02-20Make test case less sensitive to metadata numbering.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150983 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-20Remove the type retaining from the clang frontend. This is nowEric Christopher
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
2012-02-17Whether an argument is required (in contrast with being anJohn McCall
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
2012-02-16Fix this test to work with and without Asserts mode.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150713 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16Fix test to not depend upon metadata numbers.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150668 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16test/CodeGenObjC/arc-no-arc-exceptions.m: Disable it at -Asserts for now.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150666 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16Fix test for r150648.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150650 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16Use the new method for specifying garbage collection metadata in the module.Bill Wendling
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
2012-02-16Teach clang to add metadata tags to calls and invokes in ObjC withDan Gohman
-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
2012-02-16objc-arc: For arc's ivar layout, treat __unsafe_unretained ivarsFariborz Jahanian
as unscanned. // rdar://10832643 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150639 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Emit debug info for properites that are not backed by an ivar.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149995 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Relax valid location check. This fixes a clang crash while emitting debug ↵Devang Patel
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
2012-02-06Let an ivar directly refer property TAG.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149881 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-04Unbreak failing test added in r149738.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149766 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-04New test case.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149738 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-03Update tests so that they don't rely upon LLVMDebugVersion number.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149726 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-31fix test.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149313 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-30test for a v-table dispatch that consumes anFariborz Jahanian
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
2012-01-30objc-arc: Perform null check on receiver before sending methods whichFariborz Jahanian
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
2012-01-29revert r149184Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149205 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-29When emitting an ARC epilogue that looks like a return of 'self',John McCall
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
2012-01-29Get a little bit smarter about killing off the ReturnValue allocaJohn McCall
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
2012-01-28objc-arc: Perform null check on receiver before sending methods whichFariborz Jahanian
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
2012-01-17When initializing a catch variable in ARC, be sure to emit retainsJohn McCall
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
2012-01-04Restore r147493 and remove the part of the test that was checking the wrong ↵David Chisnall
thing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147530 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-20When performing layout for an Objective-C class, make sure to dig outDouglas Gregor
the definition of that class. Fixes PR11613 / <rdar://problem/10604077>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146976 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-16Update tests to match r146744.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146745 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-15Update tests to match r146665.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146668 91177308-0d34-0410-b5e6-96231b3b80d8