From 9d8141c569200a03fac6b6e07f3d8b5f68017a1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Thu, 7 Jan 2016 12:34:33 +0100
Subject: [PATCH] Compiler: Fixed internal compiler error with implicit
 lambdas.

Implicit lambdas do not have a declared return type, so use the
push_compiler_frame variant for lambdas.

Thanks to Chris Angelico <rosuav@gmail.com> for the report
and test case.

Fixes [bug 7616]/[LysLysKOM 21578942].
---
 src/language.yacc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/language.yacc b/src/language.yacc
index 56ad073f21..1c622cbc58 100644
--- a/src/language.yacc
+++ b/src/language.yacc
@@ -3424,7 +3424,7 @@ expr3: expr4
 optional_block: /* EMPTY */ { $$=0; }
   | '{' line_number_info
   /* FIXME: Use implicit_identifier to make __func__ point to the lambda? */
-  push_compiler_frame0
+  push_compiler_frame1
   {
     debug_malloc_touch(Pike_compiler->compiler_frame->current_return_type);
     if(Pike_compiler->compiler_frame->current_return_type)
-- 
GitLab