build_int_cst converts NULL_TREE to integer_type_node.
Use build_int_cst (integer_type_node, cst) to prepare a patch
to remove build_int_cst_type. trans_this_image is changed
to prevent a testsuite failure.

Bootstrapped and regtested on x86_64-pc-linux-gnu.

        PR middle-end/126622

gcc/fortran/ChangeLog:

        * trans-intrinsic.cc (trans_this_image):
        Prevent testsuite failure.
        (conv_intrinsic_atomic_op): Use
        build_int_cst (integer_type_node, cst).
        (conv_intrinsic_atomic_cas): Ditto.

Signed-off-by: Kael Andrew Franco <[email protected]>
---
 gcc/fortran/trans-intrinsic.cc | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc
index 20516640656..4fb8e5a6cec 100644
--- a/gcc/fortran/trans-intrinsic.cc
+++ b/gcc/fortran/trans-intrinsic.cc
@@ -1951,7 +1951,9 @@ trans_this_image (gfc_se * se, gfc_expr *expr)
     {
       /* sub(1) = m + lcobound(corank).  */
       lbound = gfc_conv_descriptor_lbound_get (desc,
-                       build_int_cst (TREE_TYPE (gfc_array_index_type),
+                       build_int_cst (TREE_TYPE (gfc_array_index_type) ?
+                                      TREE_TYPE (gfc_array_index_type) :
+                                      integer_type_node,
                                       corank+rank-1));
       lbound = fold_convert (type, lbound);
       tmp = fold_build2_loc (input_location, PLUS_EXPR, type, tmp, lbound);
@@ -12841,13 +12843,13 @@ conv_intrinsic_atomic_op (gfc_code *code)
     case GFC_ISYM_ATOMIC_XOR:
       tmp = build_call_expr_loc (input_location, tmp, 3, atom,
                                 fold_convert (itype, value),
-                                build_int_cst (NULL, MEMMODEL_RELAXED));
+                                build_int_cst (integer_type_node, 
MEMMODEL_RELAXED));
       gfc_add_expr_to_block (&block, tmp);
       break;
     default:
       tmp = build_call_expr_loc (input_location, tmp, 3, atom,
                                 fold_convert (itype, value),
-                                build_int_cst (NULL, MEMMODEL_RELAXED));
+                                build_int_cst (integer_type_node, 
MEMMODEL_RELAXED));
       gfc_add_modify (&block, old, fold_convert (TREE_TYPE (old), tmp));
       break;
     }
@@ -13078,8 +13080,8 @@ conv_intrinsic_atomic_cas (gfc_code *code)
                             gfc_build_addr_expr (NULL, old),
                             fold_convert (TREE_TYPE (old), new_val),
                             boolean_false_node,
-                            build_int_cst (NULL, MEMMODEL_RELAXED),
-                            build_int_cst (NULL, MEMMODEL_RELAXED));
+                            build_int_cst (integer_type_node, 
MEMMODEL_RELAXED),
+                            build_int_cst (integer_type_node, 
MEMMODEL_RELAXED));
   gfc_add_expr_to_block (&block, tmp);
 
   if (stat != NULL_TREE)
-- 
2.55.0

Reply via email to