https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119364

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Incremental
--- gcc/cobol/parse.y.jj        2025-04-05 22:10:21.694956723 +0200
+++ gcc/cobol/parse.y   2025-04-07 17:44:44.222152716 +0200
@@ -34,6 +34,7 @@
   #include "coretypes.h"
   #include "../../libgcobol/io.h"
   #include "../../libgcobol/ec.h"
+  #include "tree.h"

 #pragma GCC diagnostic ignored "-Wmissing-field-initializers"

@@ -4286,7 +4287,8 @@ usage_clause1:  usage COMPUTATIONAL[comp
                   if( gcobol_feature_embiggen() && redefined &&
                       is_numeric(redefined->type) && redefined->size() == 4) {
                     // For now, we allow POINTER to expand a 32-bit item to 64
bits.
-                    field->data.capacity = sizeof(void *);
+                    field->data.capacity
+                      = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (ptr_type_node));
                     dbgmsg("%s: expanding #" HOST_SIZE_T_PRINT_UNSIGNED
                           " %s capacity %u => %u", __func__,
                           (fmt_size_t)field_index(redefined), redefined->name,
fixed the
FAIL: FUNCTION_BIGGER-POINTER__2_.out output file test                          
FAIL: IBM_dialect_COMP_redefined_by_POINTER_as_64-bit.out output file test      
issues for i686-linux -> x86_64-linux cross and is still make check-cobol clean
on native x86_64-linux.

Reply via email to