summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/captured-statements.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove the -cxx-abi command-line flag.Hans Wennborg2014-01-141-1/+1
| | | | | | | | | | | | | | | This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples, Itanium otherwise. It's no longer possible to do weird combinations. To be able to run a test with a specific ABI without constraining it to a specific triple, new substitutions are added to lit: %itanium_abi_triple and %ms_abi_triple can be used to get the current target triple adjusted to the desired ABI. For example, if the test suite is running with the i686-pc-win32 target, %itanium_abi_triple will expand to i686-pc-mingw32. Differential Revision: http://llvm-reviews.chandlerc.com/D2545 llvm-svn: 199250
* Prepare for using MS ABI by default for Win32: update CodeGenCXX testsHans Wennborg2013-12-131-1/+1
| | | | llvm-svn: 197281
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-151-3/+3
| | | | | | tests fail. llvm-svn: 188447
* More fixes for block mangling.Eli Friedman2013-07-021-2/+2
| | | | | | | | | | | | Make sure we properly treat names defined inside a block as local names. There are basically three fixes here. One, correctly treat blocks as a context where we need to use local-name mangling using the new isLocalContainerContext helper. Two, make CXXNameMangler::manglePrefix handle local names in a consistent way. Three, extend CXXNameMangler::mangleLocalName so it can mangle a block correctly. llvm-svn: 185450
* Fix the linkage of static locals inside a CapturedStmt. (Found in theEli Friedman2013-06-131-0/+15
| | | | | | process of trying to fix the related issue for block literals.) llvm-svn: 183951
* Fix test/CodeGenCXX/captured-statements.cpp on powerpc64Ben Langmuir2013-05-131-7/+4
| | | | | | | Generalize some attributes that differ on powerpc64 (i32 vs signext i32). Also fix some copy-and-pasted code that didn't get updated properly. llvm-svn: 181707
* Codegen tests for captured statements with templatesWei Pan2013-05-101-0/+80
| | | | | Differential-revision: llvm-reviews.chandlerc.com/D778 llvm-svn: 181598
* Fix captured statements codegen test on ARMBen Langmuir2013-05-091-2/+2
| | | | | | | The return type of the destructor may vary between platforms, so stop inadvertently testing it. llvm-svn: 181541
* CodeGen for CapturedStmtsBen Langmuir2013-05-091-0/+97
EmitCapturedStmt creates a captured struct containing all of the captured variables, and then emits a call to the outlined function. This is similar in principle to EmitBlockLiteral. GenerateCapturedFunction actually produces the outlined function. It is based on GenerateBlockFunction, but is much simpler. The function type is determined by the parameters that are in the CapturedDecl. Some changes have been added to this patch that were reviewed as part of the serialization patch and moving the parameters to the captured decl. Differential Revision: http://llvm-reviews.chandlerc.com/D640 llvm-svn: 181536
OpenPOWER on IntegriCloud