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.

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

        PR middle-end/126622

gcc/rust/ChangeLog:

        * backend/rust-builtins.cc (DEF_ATTR_INT): Use
        build_int_cst (integer_type_node, cst).
        * backend/rust-constexpr.cc (eval_bit_field_ref):
        Use build_int_cst.

Signed-off-by: Kael Andrew Franco <[email protected]>
---
 gcc/rust/backend/rust-builtins.cc  | 2 +-
 gcc/rust/backend/rust-constexpr.cc | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/rust/backend/rust-builtins.cc 
b/gcc/rust/backend/rust-builtins.cc
index 881561fdde3..d4b072a03e7 100644
--- a/gcc/rust/backend/rust-builtins.cc
+++ b/gcc/rust/backend/rust-builtins.cc
@@ -228,7 +228,7 @@ BuiltinsContext::define_builtin_attributes ()
 
 #define DEF_ATTR_NULL_TREE(ENUM) built_in_attributes[(int) ENUM] = NULL_TREE;
 #define DEF_ATTR_INT(ENUM, VALUE)                                              
\
-  built_in_attributes[ENUM] = build_int_cst (NULL_TREE, VALUE);
+  built_in_attributes[ENUM] = build_int_cst (integer_type_node, VALUE);
 #define DEF_ATTR_STRING(ENUM, VALUE)                                           
\
   built_in_attributes[ENUM] = build_string (strlen (VALUE), VALUE);
 #define DEF_ATTR_IDENT(ENUM, STRING)                                           
\
diff --git a/gcc/rust/backend/rust-constexpr.cc 
b/gcc/rust/backend/rust-constexpr.cc
index e32ba3abd4f..5a7e7a711c3 100644
--- a/gcc/rust/backend/rust-constexpr.cc
+++ b/gcc/rust/backend/rust-constexpr.cc
@@ -4994,7 +4994,7 @@ eval_bit_field_ref (const constexpr_ctx *ctx, tree t, 
bool lval,
          if (bit >= istart && bit + sz <= istart + isize)
            {
              fldval = fold_convert (utype, value);
-             mask = build_int_cst_type (utype, -1);
+             mask = build_int_cst (utype, -1);
              mask = fold_build2 (LSHIFT_EXPR, utype, mask,
                                  size_int (TYPE_PRECISION (utype) - sz));
              mask = fold_build2 (RSHIFT_EXPR, utype, mask,
-- 
2.55.0

Reply via email to