aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CGObjCMac.cpp
AgeCommit message (Collapse)AuthorFilesLines
2013-02-05Changed CGObjCMac.cpp to add the marker externally_initialized to ↵Michael Gottesman1-0/+2
SELECTOR_REFERENCES in both the fragile and non-fragile API. This is to ensure that GlobalOpt in LLVM does not attempt to look through a selector reference to a method var name at compile time. I also added a test/updated old tests that need to recognize the new keyword. rdar://12580965. llvm-svn: 174461
2013-01-31Make sure that the Attribute object represents one attribute only.Bill Wendling1-10/+14
Several places were still treating the Attribute object as respresenting multiple attributes. Those places now use the AttributeSet to represent multiple attributes. llvm-svn: 174004
2013-01-12Remove useless 'llvm::' qualifier from names like StringRef and others that areDmitri Gribenko1-11/+11
brought into 'clang' namespace by clang/Basic/LLVM.h llvm-svn: 172323
2013-01-10objectiveC++: When throwing c++ exception of Fariborz Jahanian1-6/+12
an objectiveC object, use objc_exception_throw to raise the exception. // rdar://12605907 llvm-svn: 172091
2013-01-02Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate toChandler Carruth1-5/+5
reflect the migration in r171366. Re-sort the #include lines to reflect the new paths. llvm-svn: 171369
2012-12-20Rename llvm::Attributes to llvm::Attribute.Bill Wendling1-4/+4
llvm-svn: 170722
2012-12-20Revert r170500. It over-zealously converted *ALL* things named Attributes, ↵Bill Wendling1-4/+4
which is wrong here. llvm-svn: 170721
2012-12-19Rename the 'Attributes' class to 'Attribute'. It's going to represent a ↵Bill Wendling1-4/+4
single attribute in the future. llvm-svn: 170500
2012-12-17Reapply r170344, this time without forgetting to commit the header changes.David Chisnall1-3/+10
llvm-svn: 170354
2012-12-17Revert "Added support for new property helpers (GNUstep runtime)."Benjamin Kramer1-10/+3
This reverts commit r170344. Doesn't even compile. llvm-svn: 170351
2012-12-17Added support for new property helpers (GNUstep runtime).David Chisnall1-3/+10
llvm-svn: 170344
2012-12-04objective-c blocks: Consider padding due to alignmentFariborz Jahanian1-1/+4
after the fixed size block header when generating captured block variable info. // rdar://12773256 llvm-svn: 169285
2012-12-04Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth1-10/+8
uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. llvm-svn: 169237
2012-11-14objective-C blocks: Provide layout map for byrefFariborz Jahanian1-71/+111
variables captured in a block. // rdar://12184410 llvm-svn: 167931
2012-11-07objective-C blocks: bring back the CharUnit patch forFariborz Jahanian1-45/+46
captured block variable layout meta-data. No intended change in functionality. llvm-svn: 167549
2012-11-06Back out 167431+167437+167487; I didn't realize how incomplete our testEli Friedman1-114/+121
coverage of this code is. llvm-svn: 167495
2012-11-06Fix a silly mistake in r167437.Eli Friedman1-2/+2
llvm-svn: 167487
2012-11-06Propagate CharUnits through CGObjCMac.cpp.Eli Friedman1-84/+78
llvm-svn: 167437
2012-11-06Minor fix to ObjC layout bitmap metadata. Found while I was trying toEli Friedman1-1/+1
refactor the code. llvm-svn: 167436
2012-11-06Propagate CharUnits into ObjC CodeGen. No intended functional change.Eli Friedman1-46/+45
llvm-svn: 167431
2012-11-04Fixes liftime of captured block variables in mrr mode, per John's feedback, asFariborz Jahanian1-17/+12
well as couple of tests which were not being excercised because of TYPOs. llvm-svn: 167374
2012-11-02objective-C mrr block. Block variable layout metadata inFariborz Jahanian1-5/+26
mrr mode. llvm-svn: 167331
2012-11-01Silence -Wformat on platforms where uint64_t is unsigned long.Matt Beaumont-Gay1-1/+1
llvm-svn: 167249
2012-11-01objective-C block meta-data. This patch completes meta-dataFariborz Jahanian1-16/+162
generation for captured block variables in arc mode. This includes inlined version of the meta-data when it can be done. It also includes severat tests. This is wip. // rdar://12184410. llvm-svn: 167241
2012-10-30objective-C arc/mrr: Another patch for the new captured block variable Fariborz Jahanian1-23/+191
layout meta-data. It is currently off (so no tests). This is wip. llvm-svn: 167047
2012-10-27objective-C arc/mrr: Patch for the new block variable layout meta-data.Fariborz Jahanian1-3/+164
It is currently off (so no tests). This is wip. llvm-svn: 166892
2012-10-25Add some new types in preparation of encoding of captured block variableFariborz Jahanian1-0/+69
layout meta-data work. wip. llvm-svn: 166717
2012-10-17Set a special flag in class metadata when an Objective-C classJohn McCall1-4/+26
has ivars that require destruction, but none that require anything except zero-initialization. This is common in ARC and (when true throughout a class hierarchy) permits the elimination of an unnecessary message-send during allocation. llvm-svn: 166088
2012-10-17Organize and rename the magic constants for class flags.John McCall1-48/+54
No functionality change. llvm-svn: 166087
2012-10-16Use the Attributes::get method which takes an AttrVal value directly to ↵Bill Wendling1-6/+2
simplify the code a bit. No functionality change. llvm-svn: 166010
2012-10-15Move the Attributes::Builder outside of the Attributes class and into its ↵Bill Wendling1-2/+2
own class named AttrBuilder. No functionality change. llvm-svn: 165961
2012-10-15Attributes RewriteBill Wendling1-2/+4
Convert the uses of the Attributes class over to the new format. The Attributes::get method call now takes an LLVM context so that the attributes object can be uniquified and stored. llvm-svn: 165918
2012-10-10objective-C IRgen: When sending a method to 'super'Fariborz Jahanian1-9/+2
in a category class method, don't read 'isa' pointer. Instead, save the desired OBJC_METACLASS_$_ClassName in __DATA,__objc_superrefs and read that without reading any isa pointers. // rdar://12459358 llvm-svn: 165674
2012-10-10Remove the final bits of Attributes being declared in the AttributeBill Wendling1-2/+6
namespace. Use the attribute's enum value instead. No functionality change intended. llvm-svn: 165611
2012-10-08Move TargetData to DataLayout.Micah Villmow1-37/+37
llvm-svn: 165395
2012-09-27Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. ↵Sylvestre Ledru1-2/+2
See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 llvm-svn: 164769
2012-09-27Fix a typo 'iff' => 'if'Sylvestre Ledru1-2/+2
llvm-svn: 164766
2012-09-06Fixing the return type information for objc_sync_enter and objc_sync_exit. ↵Aaron Ballman1-4/+4
Patch thanks to Joe Ranieri! llvm-svn: 163330
2012-09-06Dont cast away const needlessly. Found by gcc48 -Wcast-qual.Roman Divacky1-2/+2
llvm-svn: 163325
2012-07-31Remove deprecated getNameAsCString methods.Benjamin Kramer1-1/+1
llvm-svn: 161044
2012-07-12Add the ObjFW runtime. Patch by Jonathan Schleifer!John McCall1-0/+1
llvm-svn: 160102
2012-07-07Distinguish more carefully between free functions and C++ instance methodsJohn McCall1-16/+16
in the ABI arrangement, and leave a hook behind so that we can easily tweak CCs on platforms that use different CCs by default for C++ instance methods. llvm-svn: 159894
2012-07-03Rename the GCC Objective-C runtime to gcc from gnu-fragile and the GNUstepDavid Chisnall1-2/+2
runtime to gnustep from gnu. Fix EH for the GCC runtime. llvm-svn: 159684
2012-06-20Restructure how the driver communicates information about theJohn McCall1-2/+12
target Objective-C runtime down to the frontend: break this down into a single target runtime kind and version, and compute all the relevant information from that. This makes it relatively painless to add support for new runtimes to the compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z, available at the driver level as a better and more general alternative to -fgnu-runtime and -fnext-runtime. This new concept of an Objective-C runtime also encompasses what we were previously separating out as the "Objective-C ABI", so fragile vs. non-fragile runtimes are now really modelled as different kinds of runtime, paving the way for better overall differentiation. As a sort of special case, continue to accept the -cc1 flag -fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak. I won't go so far as to say "no functionality change", even ignoring the new driver flag, but subtle changes in driver semantics are almost certainly not intended. llvm-svn: 158793
2012-06-10PR13064: Store whether an in-class initializer uses direct or copyRichard Smith1-4/+6
initialization, and use that information to produce the right kind of initialization during template instantiation. llvm-svn: 158288
2012-06-06Revert Decl's iterators back to pointer value_type rather than reference ↵David Blaikie1-5/+5
value_type In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I would've omitted them entirely but std::distance likes them to be there even if it doesn't use them. This rolls back r155808 and r155869. Review by Doug Gregor incorporating feedback from Chandler Carruth. llvm-svn: 158104
2012-04-30Remove the ref/value inconsistency in filter_decl_iterator.David Blaikie1-5/+8
filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) llvm-svn: 155808
2012-04-24Add a flag to the image info section indicating that the program is compiled forBill Wendling1-1/+10
a simulator. llvm-svn: 155436
2012-03-30Fix a pair of invalidation bugs when emitting protocol definitionsJohn McCall1-2/+6
in the fragile and non-fragile Mac ObjC runtimes. No useful test case. Fixes rdar://problem/11072576. llvm-svn: 153778
2012-03-11Unify naming of LangOptions variable/get function across the Clang stack ↵David Blaikie1-18/+18
(Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner llvm-svn: 152536