diff options
author | Reid Kleckner <rnk@google.com> | 2018-12-12 23:46:06 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2018-12-12 23:46:06 +0000 |
commit | 25b56024aa369df85e9c0d986ace6a5bac164664 (patch) | |
tree | 08b343d3128debe6359038d6fb9f5d2537edfe09 /clang/test/CodeGenCXX/inalloca-lambda.cpp | |
parent | e01c646ddaf76540880099402d7bbac4f188d10c (diff) | |
download | bcm5719-llvm-25b56024aa369df85e9c0d986ace6a5bac164664.tar.gz bcm5719-llvm-25b56024aa369df85e9c0d986ace6a5bac164664.zip |
Emit a proper diagnostic when attempting to forward inalloca arguments
The previous assertion was relatively easy to trigger, and likely will
be easy to trigger going forward. EmitDelegateCallArg is relatively
popular.
This cleanly diagnoses PR28299 while I work on a proper solution.
llvm-svn: 348991
Diffstat (limited to 'clang/test/CodeGenCXX/inalloca-lambda.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/inalloca-lambda.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/inalloca-lambda.cpp b/clang/test/CodeGenCXX/inalloca-lambda.cpp new file mode 100644 index 00000000000..ac85ee17526 --- /dev/null +++ b/clang/test/CodeGenCXX/inalloca-lambda.cpp @@ -0,0 +1,11 @@ +// RUN: not %clang_cc1 -triple i686-windows-msvc -emit-llvm -o /dev/null %s 2>&1 | FileCheck %s + +// PR28299 +// CHECK: error: cannot compile this forwarded non-trivially copyable parameter yet + +class A { + A(const A &); +}; +typedef void (*fptr_t)(A); +fptr_t fn1() { return [](A) {}; } + |