From 25b56024aa369df85e9c0d986ace6a5bac164664 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Wed, 12 Dec 2018 23:46:06 +0000 Subject: 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 --- clang/test/CodeGenCXX/inalloca-lambda.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 clang/test/CodeGenCXX/inalloca-lambda.cpp (limited to 'clang/test/CodeGenCXX/inalloca-lambda.cpp') 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) {}; } + -- cgit v1.2.3