llvm-project/clang/test
Erich Keane 6b104ea4b4 Implement Lambda Conversion Operators for All CCs for MSVC.
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
2020-11-05 07:25:44 -08:00
..
APINotes/Inputs/Frameworks/SomeKit.framework/Headers docs: add documentation describing API Notes 2020-10-05 18:29:13 +00:00
ARCMT
AST [test] Fix unused check prefixes in test/AST 2020-10-31 21:46:45 -07:00
ASTMerge [clang] Improve Serialization/Imporing/Dumping of APValues 2020-10-21 19:03:13 +02:00
Analysis [scan-build] Fix clang++ pathname again 2020-11-03 08:17:17 +01:00
CXX PR47861: Expand dangling reference warning to look through copy 2020-10-30 10:19:50 -07:00
ClangScanDeps
CodeCompletion [clang] Make signature help work with dependent args 2020-08-17 10:06:36 +02:00
CodeGen [test] Add 'REQUIRES: bpf-registered-target' to bpf-O0.c 2020-11-04 23:19:14 -08:00
CodeGenCUDA [CUDA] Allow local static variables with target attributes. 2020-11-03 10:30:38 -08:00
CodeGenCXX Implement Lambda Conversion Operators for All CCs for MSVC. 2020-11-05 07:25:44 -08:00
CodeGenCoroutines Reapply "OpaquePtr: Add type to sret attribute" 2020-10-16 11:05:02 -04:00
CodeGenHIP
CodeGenObjC [darwin] add support for __isPlatformVersionAtLeast check for if (@available) 2020-11-02 16:28:09 -08:00
CodeGenObjCXX Reapply "OpaquePtr: Add type to sret attribute" 2020-10-16 11:05:02 -04:00
CodeGenOpenCL [AMDGPU] Add gfx1033 target 2020-11-03 16:27:48 +00:00
CodeGenOpenCLCXX [OpenCL] Support vec_step in C++ for OpenCL mode 2020-11-05 12:02:59 +00:00
CodeGenSYCL Revert "[SYCL] Implement __builtin_unique_stable_name." 2020-10-12 01:10:09 -04:00
Coverage
CoverageMapping [Coverage] Add empty line regions to SkippedRegions 2020-09-21 12:42:53 -07:00
Driver [AMDGPU] Add gfx1033 target 2020-11-03 16:27:48 +00:00
FixIt
Format [clang-format] Add a test showing the current config file list parsing 2020-09-04 16:57:46 +01:00
Frontend [test] Clean up test/Frontend/gnu-mcount.c and fix unused check prefixes 2020-10-31 21:33:46 -07:00
Headers [NFC] Remove max_align.c LIT testcase 2020-10-26 17:14:30 -04:00
Import
Index Fix hidden-redecls.m test for some environments 2020-10-16 09:51:13 +02:00
Integration
InterfaceStubs
Layout [AIX] Support two itanium alignment LIT testcases for AIX using regex 2020-10-13 16:47:01 -04:00
Lexer [clang][feature] Add cxx_abi_relative_vtable feature 2020-10-08 10:30:54 -07:00
Misc [NFC][clang][AVR] Add more devices 2020-10-29 11:49:21 +08:00
Modules Reapply "OpaquePtr: Add type to sret attribute" 2020-10-16 11:05:02 -04:00
OpenMP [clang] Add mustprogress and llvm.loop.mustprogress attribute deduction 2020-11-04 22:03:14 -05:00
PCH [clang] add fexperimental-strict-floating-point to test cases that fail on arm and aarch not sure this will work due to commit rG13bfd89c4962 2020-10-30 07:30:06 -07:00
Parser Add option 'exceptions' to pragma clang fp 2020-10-31 17:36:12 +07:00
Preprocessor [X86] Support Intel avxvnni 2020-10-31 12:39:51 +08:00
Profile [clang] Add mustprogress and llvm.loop.mustprogress attribute deduction 2020-11-04 22:03:14 -05:00
Refactor
Rewriter
Sema [PowerPC] Add Sema checks for MMA types 2020-11-04 17:01:47 -06:00
SemaCUDA [CUDA] Allow local static variables with target attributes. 2020-11-03 10:30:38 -08:00
SemaCXX [PowerPC] Add Sema checks for MMA types 2020-11-04 17:01:47 -06:00
SemaObjC PR44406: Follow behavior of array bound constant folding in more recent versions of GCC. 2020-10-16 14:34:35 -07:00
SemaObjCXX [SemaObjC] Fix composite pointer type calculation for `void*` and pointer to lifetime qualified ObjC pointer type 2020-10-15 15:21:01 -04:00
SemaOpenCL [OpenCL] Remove unused extensions 2020-10-22 17:01:31 +01:00
SemaOpenCLCXX
SemaSYCL
SemaTemplate When re-checking an already-substituted template argument, don't lose 2020-11-03 14:09:54 -08:00
TableGen Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions" 2020-10-19 17:48:04 -04:00
Templight
Tooling
Unit
VFS
clang-rename [clang-rename] Fix rename on variable templates. 2020-10-19 09:44:59 +02:00
utils/update_cc_test_checks [clang] Add mustprogress and llvm.loop.mustprogress attribute deduction 2020-11-04 22:03:14 -05:00
.clang-format
CMakeLists.txt Revert "Re-Re-land: [CodeView] Add full repro to LF_BUILDINFO record" 2020-08-17 15:49:18 -04:00
TestRunner.sh
cxx-sections.data
lit.cfg.py [OpenMP] Fixing OpenMP/driver.c failing on 32-bit hosts 2020-10-21 17:01:36 -04:00
lit.site.cfg.py.in [CMake] Simplify CMake handling for zlib 2020-08-11 20:22:11 -07:00
make_test_dirs.pl