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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
  /* If only one of the bounds used a MINUS_EXPR, compensate
     by adding one to the other bound.  */
  if (parm_cst && !arg_cst)
    parm_max = fold_build2_loc (input_location, PLUS_EXPR,
                                integer_type_node,
                                parm_max,
                                integer_one_node);
  else if (arg_cst && !parm_cst)
    arg_max = fold_build2_loc (input_location, PLUS_EXPR,
                               integer_type_node,
                               arg_max,
                               integer_one_node);
That probably should be using TREE_TYPE (parm_max) and build_int_cst (TREE_TYPE
(parm_max), 1) and similarly for arg_max...
--- gcc/cp/pt.cc.jj     2026-08-06 11:28:19.000000000 +0200
+++ gcc/cp/pt.cc        2026-08-06 23:08:20.780995510 +0200
@@ -26284,14 +26284,14 @@ unify_array_domain (tree tparms, tree ta
      by adding one to the other bound.  */
   if (parm_cst && !arg_cst)
     parm_max = fold_build2_loc (input_location, PLUS_EXPR,
-                               integer_type_node,
+                               TREE_TYPE (parm_max),
                                parm_max,
-                               integer_one_node);
+                               build_int_cst (TREE_TYPE (parm_max), 1));
   else if (arg_cst && !parm_cst)
     arg_max = fold_build2_loc (input_location, PLUS_EXPR,
-                              integer_type_node,
+                              TREE_TYPE (arg_max),
                               arg_max,
-                              integer_one_node);
+                              build_int_cst (TREE_TYPE (arg_max), 1));

   return unify (tparms, targs, parm_max, arg_max,
                UNIFY_ALLOW_INTEGER, explain_p);

Reply via email to