summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGBlocks.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Push checking down, also, give the user a hit as to which part of theMike Stump2009-03-021-39/+0
| | | | | | | block literal is causing the problem, instead of the vague reference to the entire block literal. llvm-svn: 65798
* Add BLOCK_HAS_DESCRIPTOR to global blocks.Anders Carlsson2009-03-011-1/+2
| | | | llvm-svn: 65788
* Be sure to mark blocks with no imports as being global.Mike Stump2009-03-011-0/+4
| | | | llvm-svn: 65784
* Remove debugging code.Anders Carlsson2009-03-011-2/+0
| | | | llvm-svn: 65753
* Emit errors about unsupported blocks features.Anders Carlsson2009-03-011-0/+41
| | | | llvm-svn: 65751
* Do some blocks cleanup and simplification. Fix a crash, and add a test case.Anders Carlsson2009-03-011-13/+33
| | | | llvm-svn: 65746
* improve compatibility with the VC++'08 C++ compiler. Patch byChris Lattner2009-02-281-6/+6
| | | | | | Niklas Larsson! llvm-svn: 65706
* First cut CodeGen support for __block variables.Mike Stump2009-02-281-14/+74
| | | | llvm-svn: 65688
* Create a new TypeNodes.def file that enumerates all of the types,Douglas Gregor2009-02-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... llvm-svn: 65591
* CodeGen support for copied BlockDeclRefExprs.Mike Stump2009-02-251-18/+75
| | | | llvm-svn: 65487
* Pass the CodeGenModule object to GenerateBlockFunction, instead of *this ↵Anders Carlsson2009-02-241-6/+1
| | | | | | | | (which will call the copy constructor). Also, since we're creating a new CodeGenFunction object for each block function, we don't need to clear the BreakContinueStack. llvm-svn: 65371
* Ensure that we can't break or continue out of a block.Mike Stump2009-02-241-0/+5
| | | | llvm-svn: 65370
* Cleanp code with some recent suggestions.Mike Stump2009-02-221-9/+1
| | | | llvm-svn: 65285
* The blocks ABI is wrong, add a FIXME.Mike Stump2009-02-211-0/+3
| | | | llvm-svn: 65243
* Add CodeGen support for the helper for BlockDeclRefExprs. The easierMike Stump2009-02-211-19/+30
| | | | | | stuff is mostly done. Move BlockHasCopyDispose up. llvm-svn: 65242
* More codegen for blocks. The type of block literals should be better.Mike Stump2009-02-191-8/+55
| | | | | | The size calculation is improved. llvm-svn: 64994
* Avoid getNameAsCString when the decl doesn't have a name.Mike Stump2009-02-171-2/+3
| | | | | | Build of the parm list with the iterator, not end(). llvm-svn: 64851
* Be sure to initialize Name.Mike Stump2009-02-171-1/+1
| | | | llvm-svn: 64769
* Use getNameAsCString instead of getNameAsString and reflow the type.Mike Stump2009-02-141-3/+3
| | | | | | Thanks Anders. llvm-svn: 64571
* Generate the helper function for blocks. Now basic codegen isMike Stump2009-02-141-7/+11
| | | | | | starting to work for blocks. llvm-svn: 64570
* Let the backend unique these.Mike Stump2009-02-131-3/+2
| | | | llvm-svn: 64486
* Fix spelling.Mike Stump2009-02-131-2/+2
| | | | llvm-svn: 64482
* Move DescriptorUniqueCount into CGM.Mike Stump2009-02-131-3/+1
| | | | llvm-svn: 64481
* Move NSConcreteStackBlock into CGM.Mike Stump2009-02-131-10/+21
| | | | llvm-svn: 64479
* Eliminate an unused variableDouglas Gregor2009-02-131-3/+0
| | | | llvm-svn: 64476
* Move GlobalUniqueCount up into CGM.Mike Stump2009-02-131-3/+1
| | | | llvm-svn: 64473
* Condense NSConcreteGlobalBlock handling.Mike Stump2009-02-131-19/+20
| | | | llvm-svn: 64461
* Calculate size correctly.Mike Stump2009-02-131-2/+3
| | | | llvm-svn: 64459
* Size should be unsigned.Mike Stump2009-02-131-7/+6
| | | | llvm-svn: 64458
* Condense all the blocks code into CGBlocks.cpp.Mike Stump2009-02-131-3/+130
| | | | llvm-svn: 64457
* Fixup types, the runtime uses int, not int32.Mike Stump2009-02-131-4/+9
| | | | llvm-svn: 64456
* Fixup spacing a tad.Mike Stump2009-02-131-69/+67
| | | | llvm-svn: 64454
* Move GenericBlockLiteralType into CGM.Mike Stump2009-02-131-26/+27
| | | | llvm-svn: 64452
* Move BlockDescriptorType into CGM.Mike Stump2009-02-131-19/+19
| | | | llvm-svn: 64451
* Add a very basic implemenation of global blocks. This needs to be cleaned up.Anders Carlsson2009-02-121-11/+129
| | | | llvm-svn: 64387
* Add support for generating block call expressions.Anders Carlsson2009-02-121-0/+137
llvm-svn: 64346
OpenPOWER on IntegriCloud