From d20fa5cf61e785b51994a78dec2bec1d46624a6b Mon Sep 17 00:00:00 2001 From: Bob Dubner <rdubner@symas.com> Date: Tue, 9 Apr 2024 17:05:57 -0400 Subject: [PATCH] Put body of allocation of cblc_refer_type_node onto the stack --- gcc/cobol/genutil.cc | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/gcc/cobol/genutil.cc b/gcc/cobol/genutil.cc index 6e82bb92fdbc..e675bcf054e1 100644 --- a/gcc/cobol/genutil.cc +++ b/gcc/cobol/genutil.cc @@ -2431,12 +2431,7 @@ refer_fill_internal(cbl_refer_t &refer, refer_type_t refer_type) refer.field ? refer.field->name : "noname", counter++); - //// Trying to switch the next statement to vs_stack rather than vs_static. - //// That's a work in progress; at this time putting these on the stack results - //// in intermittent errors. Apparently such data sometimes, but not always, - //// gets lost before it is used. RJD 2024-04-07 - refer.refer_decl_node = gg_define_variable(cblc_refer_type_node, ach, vs_static); -// refer.refer_decl_node = gg_define_variable(cblc_refer_type_node, ach, vs_stack); + refer.refer_decl_node = gg_define_variable(cblc_refer_type_node, ach, vs_stack); gg_memset(gg_get_address_of(refer.refer_decl_node), integer_zero_node, build_int_cst_type(SIZE_T, sizeof(cblc_refer_t))); @@ -2467,18 +2462,6 @@ refer_fill_internal(cbl_refer_t &refer, refer_type_t refer_type) { gg_assign(member(refer.refer_decl_node, "qual_data"), gg_cast(UCHAR_P, member(refer.field->var_decl_node, "initial"))); -#if 0 - if( refer.field->attr & hex_encoded_e ) - { - gg_assign(member(refer.refer_decl_node, "qual_size"), - build_int_cst_type(SIZE_T, refer.field->data.capacity)); - } - else - { - gg_assign(member(refer.refer_decl_node, "qual_size"), - build_int_cst_type(SIZE_T, strlen(refer.field->data.initial))); - } -#endif gg_assign(member(refer.refer_decl_node, "qual_size"), build_int_cst_type(SIZE_T, refer.field->data.capacity)); } -- GitLab