[clang] Fix crash and improve diagnostics for void lambda returns (PR #188904)

via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 16 14:50:11 PDT 2026


================
@@ -0,0 +1,25 @@
+// RUN: %clang_cc1 -std=c++20 -fblocks -fsyntax-only -verify %s
+
+void test_lambdas() {
+  (void) [] () -> void { return {}; }; // expected-error {{void lambda should not return a value}}
+  (void) [] () -> void { return {1}; }; // expected-error {{void lambda should not return a value}}
+  (void) [] () -> void { return {1, 2}; }; // expected-error {{void lambda should not return a value}}
+  (void) [] () -> void { return 42; }; // expected-error {{void lambda should not return a value}}
+  (void) [] () -> void { return double(32); }; // expected-error {{void lambda should not return a value}}
----------------
Sirraide wrote:

#192555

https://github.com/llvm/llvm-project/pull/188904


More information about the cfe-commits mailing list