From 14f9012bcfc40bf868bc14455b42084fb7e61574 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Mon, 25 Feb 2019 15:56:18 +0100 Subject: [PATCH] art: Allow unnamed arguments in fptr --- ast | 2 +- src/parse/scan1.c | 3 ++- src/parse/scan2.c | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ast b/ast index f0e1cb2c..9ea3845d 160000 --- a/ast +++ b/ast @@ -1 +1 @@ -Subproject commit f0e1cb2cfe0ea1fe5ee0d73f94a1f5c4ef05c955 +Subproject commit 9ea3845d1241b7abb8e02b43c9b04224ab82a4a8 diff --git a/src/parse/scan1.c b/src/parse/scan1.c index c15c2d1e..148b8fc0 100644 --- a/src/parse/scan1.c +++ b/src/parse/scan1.c @@ -200,7 +200,8 @@ ANN m_bool scan1_stmt_enum(const Env env, const Stmt_Enum stmt) { GWDEBUG_EXE ANN static m_bool scan1_args(const Env env, Arg_List list) { GWDEBUG_EXE do { const Var_Decl var = list->var_decl; - CHECK_BB(isres(var->xid)) + if(var->xid) + CHECK_BB(isres(var->xid)) if(list->td) // lambda CHECK_OB((list->type = void_type(env, list->td, var->pos))) } while((list = list->next)); diff --git a/src/parse/scan2.c b/src/parse/scan2.c index d1909064..11d71a8c 100644 --- a/src/parse/scan2.c +++ b/src/parse/scan2.c @@ -51,7 +51,8 @@ ANN m_bool scan2_exp_decl(const Env env, const Exp_Decl* decl) { GWDEBUG_EXE ANN static Value arg_value(const Env env, const Arg_List list) { const Var_Decl var = list->var_decl; if(!var->value) { - const Value v = new_value(env->gwion, list->type, s_name(var->xid)); + const Value v = new_value(env->gwion, list->type, + var->xid ? s_name(var->xid) : s_name(insert_symbol((m_str)var))); if(list->td) // lambda v->flag = list->td->flag | ae_flag_arg; return v; -- 2.43.0