summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCRuntime.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* The lock operand to an @synchronized statement is also John McCall2011-07-271-10/+15
| | | | | | | supposed to be a full-expression; make it so. In ARC, make sure we retain the lock for the entire protected block. llvm-svn: 136271
* remove unneeded llvm:: namespace qualifiers on some core types now that ↵Chris Lattner2011-07-231-1/+1
| | | | | | | | LLVM.h imports them into the clang namespace. llvm-svn: 135852
* Add a const overload for ObjCInterfaceDecl::all_declared_ivar_begin.Jordy Rose2011-07-221-2/+1
| | | | | | | | | 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
* de-constify llvm::Type, patch by David Blaikie!Chris Lattner2011-07-181-3/+3
| | | | llvm-svn: 135370
* Convert CallInst and InvokeInst APIs to use ArrayRef.Jay Foad2011-07-151-1/+1
| | | | llvm-svn: 135265
* Generalize Cleanup::Emit's "isForEH" parameter into a setJohn McCall2011-07-121-2/+2
| | | | | | of flags. No functionality change. llvm-svn: 134997
* Eliminate most uses of ShallowCollectObjCIvars which requiresFariborz Jahanian2011-06-281-5/+5
| | | | | | | a vector for collection. Use iterators where needed instead. // rdar://6817577 llvm-svn: 134015
* Emit @finally blocks completely lazily instead of forcing theirJohn McCall2011-06-221-6/+4
| | | | | | | | | | | | | existence by always threading an edge from the catchall. Not doing this was previously causing a crash in the very extreme case where neither the normal cleanup nor the EH catchall was actually reachable: we would delete the catchall entry block, which would cause us to delete the entry block of the finally cleanup as well because the cleanup logic would merge the blocks, which in turn triggered an assert because later blocks in the finally would still be using values from the entry. Laziness turns out to be the most elegant solution to the problem. llvm-svn: 133601
* Restore correct use of GC barriers.John McCall2011-06-161-1/+1
| | | | llvm-svn: 133144
* Fix some problems where functions must be bitcast but we're expecting a ↵David Chisnall2011-05-231-3/+3
| | | | | | | | llvm::Function of the right type. PR9994. llvm-svn: 131930
* Make this code more resilient against catch variables which need cleanups.John McCall2011-05-121-3/+4
| | | | llvm-svn: 131215
* Replace some literal 8s with char width and char align. No change inKen Dyck2011-04-221-2/+2
| | | | | | functionality intended. llvm-svn: 129996
* Replace a couple of divide-by-8s with divide-by-charwidths. No change inKen Dyck2011-04-141-2/+4
| | | | | | functionality intended. llvm-svn: 129496
* Continuing work on ObjC tidyup:David Chisnall2011-03-251-0/+308
- Moved the CGObjCRuntime functions out of CGObjCMac.cpp into CGObjCRuntime.cpp - Added generic functions in CGObjCRuntime for emitting @try and @synchronize blocks, usable by any runtime that uses DWARF exceptions. - Made the GNU runtimes use these functions. It should now be possible to replace the equivalent functions in CGObjCNonFragileABIMac with simple calls to these two functions, providing the runtime functions as arguments. I'll post a diff to the list for review before making any changes to the Mac runtime stuff. llvm-svn: 128274
OpenPOWER on IntegriCloud