David Chisnall
0cc83e7518
It turns out that the Objective-C message lookup functions can throw exceptions after all...
...
llvm-svn: 143205
2011-10-28 17:55:06 +00:00
David Chisnall
e89ac0666b
Change an int64_t to an intptr_t so that we don't end up with crashes in the back end on large classes on 32-bit.
...
llvm-svn: 142918
2011-10-25 10:12:21 +00:00
David Chisnall
d5bcd07e5d
Remove debugging printfs that some idiot left in.
...
llvm-svn: 142796
2011-10-24 14:11:46 +00:00
David Chisnall
8c93cf2a27
Enable experimental support for objc_msgSend with GNUstep ObjC runtime.
...
llvm-svn: 142795
2011-10-24 14:07:03 +00:00
David Chisnall
e0dc7cb2e2
Apparently getPtrToInt() takes an explicit type parameter to allow you to generate invalid bitcode, not so that it can actually produce a value of this type. This should fix PR11085.
...
llvm-svn: 141482
2011-10-08 08:54:36 +00:00
Eli Friedman
235266700a
Fix warning on MSVC. Patch by Aaron Ballman.
...
llvm-svn: 141467
2011-10-08 01:03:47 +00:00
David Chisnall
cdd207e43e
Add bitmaps for strong / weak ivar layout (GNUstep runtime).
...
llvm-svn: 141085
2011-10-04 15:35:30 +00:00
John McCall
248512a573
When performing an @throw in ARC, retain + autorelease
...
the pointer, being sure to do so before running cleanups
associated with that full-expression. rdar://10042689
llvm-svn: 140945
2011-10-01 10:32:24 +00:00
Benjamin Kramer
76399eb2ad
de-tmpify clang.
...
llvm-svn: 140637
2011-09-27 21:06:10 +00:00
David Blaikie
83d382b1ca
Switch assert(0/false) llvm_unreachable.
...
llvm-svn: 140367
2011-09-23 05:06:16 +00:00
Richard Trieu
e4f3180fec
Change "ivar" to true for a boolean function argument. Since string literals are cast to true, this should no effect on behavior.
...
llvm-svn: 140231
2011-09-21 02:46:06 +00:00
Douglas Gregor
79a91418bd
Switch LangOptions over to a .def file that describes header of the
...
language options. Use that .def file to declare the LangOptions class
and initialize all of its members, eliminating a source of annoying
initialization bugs.
AST serialization changes are next up.
llvm-svn: 139605
2011-09-13 17:21:33 +00:00
Chris Lattner
5ec04a51fa
switch clang to use the new-new way of creating llvm::StructType's.
...
llvm-svn: 137472
2011-08-12 17:43:31 +00:00
David Chisnall
51ed0d112b
Fix typo so we don't use the wrong function for ending ObjC++ catch blocks (GNU runtimes)
...
llvm-svn: 137052
2011-08-08 17:26:06 +00:00
David Chisnall
28dc7f94f8
Fix linkage type for tentative definition of ivar offset variables (GNUstep runtime)
...
llvm-svn: 136628
2011-08-01 17:36:53 +00:00
Jay Foad
5709f7c5f7
Remove some unnecessary single element array temporaries.
...
llvm-svn: 136461
2011-07-29 13:56:53 +00:00
Chris Lattner
0e62c1cc0b
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports
...
them into the clang namespace.
llvm-svn: 135852
2011-07-23 10:55:15 +00:00
Jordy Rose
a91768e569
Add a const overload for ObjCInterfaceDecl::all_declared_ivar_begin.
...
This was previously not-const only because it has to lazily construct a chain
of ivars the first time it is called (and after the chain is invalidated).
In practice, all the clients were just const_casting their const Decls;
all those now-unnecessary const_casts have been removed.
llvm-svn: 135741
2011-07-22 02:08:32 +00:00
Jay Foad
ed8db7d9df
Convert ConstantExpr::getGetElementPtr and
...
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.
llvm-svn: 135673
2011-07-21 14:31:17 +00:00
Chris Lattner
2192fe50da
de-constify llvm::Type, patch by David Blaikie!
...
llvm-svn: 135370
2011-07-18 04:24:23 +00:00
Jay Foad
5bd375a6cc
Convert CallInst and InvokeInst APIs to use ArrayRef.
...
llvm-svn: 135265
2011-07-15 08:37:34 +00:00
Jay Foad
7c57be3e2b
De-constify Types in StructType::get() and TargetData::getIntPtrType().
...
llvm-svn: 134893
2011-07-11 09:56:20 +00:00
Chris Lattner
a5f58b05e8
clang side to match the LLVM IR type system rewrite patch.
...
llvm-svn: 134831
2011-07-09 17:41:47 +00:00
David Chisnall
1bfe6d374d
If we're using the pure non-fragile ABI, then skip some of the contortions required to support the transitional ABI.
...
llvm-svn: 134612
2011-07-07 12:34:51 +00:00
David Chisnall
a918b88952
Set a flag to tell the runtime when we're compiling in ARC mode and use the pure-nonfragile ABI for both ARC and GC mode.
...
llvm-svn: 134611
2011-07-07 11:22:31 +00:00
David Chisnall
08d6733ed7
Add support for weakly imported classes (GNU runtime).
...
llvm-svn: 134140
2011-06-30 10:14:37 +00:00
David Chisnall
920e83b00b
Add ARC support for the GNUstep runtime.
...
llvm-svn: 134065
2011-06-29 13:16:41 +00:00
Fariborz Jahanian
831f0fc2e0
Support for catching objc pointer objects in c++ catch-statement
...
in fragile abi mode and some other cleanups. // rdar://8940528
llvm-svn: 133747
2011-06-23 19:00:08 +00:00
Fariborz Jahanian
0a3cfcc87f
Alloa catching Objective-C id's being thrown with C++ throw
...
in Darwin's fragile abi mode. // rdar://8940528
llvm-svn: 133639
2011-06-22 20:21:51 +00:00
Chris Lattner
e64d7ba153
Update to match mainline ConstantStruct::get API change. Also, use
...
ConvertType on InitListExprs as they are being converted. This is
needed for a forthcoming patch, and improves the IR generated anyway
(see additional type names in testcases).
This patch also converts a bunch of std::vector's in CGObjCMac to use
C arrays. There are a ton more that should be converted as well.
llvm-svn: 133413
2011-06-20 04:01:35 +00:00
Chris Lattner
845511fe1c
update for api change.
...
llvm-svn: 133365
2011-06-18 22:49:11 +00:00
John McCall
31168b077c
Automatic Reference Counting.
...
Language-design credit goes to a lot of people, but I particularly want
to single out Blaine Garst and Patrick Beard for their contributions.
Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself,
in no particular order.
llvm-svn: 133103
2011-06-15 23:02:42 +00:00
David Chisnall
fcb37e944f
Fix another incorrect type bug.
...
llvm-svn: 132311
2011-05-30 12:00:26 +00:00
Benjamin Kramer
df1fb13a5c
Eliminate temporary argument vectors.
...
llvm-svn: 132260
2011-05-28 14:26:31 +00:00
David Chisnall
7441d8823f
Fix another type mismatch.
...
llvm-svn: 132259
2011-05-28 14:23:43 +00:00
David Chisnall
8a42d19b33
Fix missing cast.
...
llvm-svn: 132258
2011-05-28 14:09:01 +00:00
David Chisnall
e4e5c0f219
Remove bitcast to incorrect type.
...
llvm-svn: 132077
2011-05-25 20:33:17 +00:00
David Chisnall
b85775c3ba
Fix bug introduced with r131930.
...
llvm-svn: 131935
2011-05-23 23:15:11 +00:00
David Chisnall
1254f6efe2
Don't omit retain / release / autorelease message sends in hybrid GC mode.
...
llvm-svn: 131932
2011-05-23 23:13:25 +00:00
David Chisnall
3fe89562e8
Fix some problems where functions must be bitcast but we're expecting a llvm::Function of the right type.
...
PR9994.
llvm-svn: 131930
2011-05-23 22:33:28 +00:00
David Chisnall
5c51177981
Provide the runtime with information about the GC compile options (GNU runtimes)
...
llvm-svn: 131877
2011-05-22 22:37:08 +00:00
Fariborz Jahanian
7bd3d1c49b
Patch to fix IR-gen crash generating structure ABI which implements
...
user specified string class via -fconstant-string-class option.
pr9914.
llvm-svn: 131496
2011-05-17 22:21:16 +00:00
Eli Friedman
43dca6a8d2
Simplify code a bit by using CallArgList::add. No intended functionality change.
...
llvm-svn: 130699
2011-05-02 17:57:46 +00:00
Nick Lewycky
18a1ee7f51
Remove a dead variable flagged by gcc's -Wunused-but-set-variable. No
...
functionality change.
llvm-svn: 130672
2011-05-02 00:40:24 +00:00
David Chisnall
10d2ded910
Don't crash if the AST doesn't have a sensible ObjC id type.
...
llvm-svn: 130500
2011-04-29 14:10:35 +00:00
Jay Foad
1a180156b6
Remove unused STL header includes.
...
llvm-svn: 130068
2011-04-23 19:53:52 +00:00
Ken Dyck
0fed10e704
Replace a couple of literal 8s with ASTContext::getCharWidth(). No change in
...
functionality intended.
llvm-svn: 130002
2011-04-22 17:59:22 +00:00
Jay Foad
ea324f154b
PR9214: Convert Metadata API to use ArrayRef.
...
llvm-svn: 129929
2011-04-21 19:59:12 +00:00
Chris Lattner
57540c5be0
fix a bunch of comment typos found by codespell. Patch by
...
Luis Felipe Strano Moraes!
llvm-svn: 129559
2011-04-15 05:22:18 +00:00
David Chisnall
ec343e8544
Fix copy-and-paste bug that I introduced while tidying up the code.
...
Does anyone want to buy me a new brain?
llvm-svn: 128890
2011-04-05 17:15:18 +00:00