mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-08 17:11:33 +00:00
6b104ea4b4
As described here: https://devblogs.microsoft.com/oldnewthing/20150220-00/?p=44623 In order to allow Lambdas to be used with traditional Win32 APIs, they emit a conversion function for (what Raymond Chen claims is all) a number of the calling conventions. Through experimentation, we discovered that the list isn't quite 'all'. This patch implements this by taking the list of conversions that MSVC emits (across 'all' architectures, I don't see any CCs on ARM), then emits them if they are supported by the current target. However, we also add 3 other options (which may be duplicates): free-function, member-function, and operator() calling conventions. We do this because we have an extension where we generate both free and member for these cases so th at people specifying a calling convention on the lambda will have the expected behavior when specifying one of those two. MSVC doesn't seem to permit specifying calling-convention on lambdas, but we do, so we need to make sure those are emitted as well. We do this so that clang-only conventions are supported if the user specifies them. Differential Revision: https://reviews.llvm.org/D90634 |
||
---|---|---|
.. | ||
Analysis | ||
APINotes/Inputs/Frameworks/SomeKit.framework/Headers | ||
ARCMT | ||
AST | ||
ASTMerge | ||
clang-rename | ||
ClangScanDeps | ||
CodeCompletion | ||
CodeGen | ||
CodeGenCoroutines | ||
CodeGenCUDA | ||
CodeGenCXX | ||
CodeGenHIP | ||
CodeGenObjC | ||
CodeGenObjCXX | ||
CodeGenOpenCL | ||
CodeGenOpenCLCXX | ||
CodeGenSYCL | ||
Coverage | ||
CoverageMapping | ||
CXX | ||
Driver | ||
FixIt | ||
Format | ||
Frontend | ||
Headers | ||
Import | ||
Index | ||
Integration | ||
InterfaceStubs | ||
Layout | ||
Lexer | ||
Misc | ||
Modules | ||
OpenMP | ||
Parser | ||
PCH | ||
Preprocessor | ||
Profile | ||
Refactor | ||
Rewriter | ||
Sema | ||
SemaCUDA | ||
SemaCXX | ||
SemaObjC | ||
SemaObjCXX | ||
SemaOpenCL | ||
SemaOpenCLCXX | ||
SemaSYCL | ||
SemaTemplate | ||
TableGen | ||
Templight | ||
Tooling | ||
Unit | ||
utils/update_cc_test_checks | ||
VFS | ||
.clang-format | ||
CMakeLists.txt | ||
cxx-sections.data | ||
lit.cfg.py | ||
lit.site.cfg.py.in | ||
make_test_dirs.pl | ||
TestRunner.sh |