From 2322b6dd4a8b0b0a771a696368eefadc7be24ddc Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Tue, 30 Jan 2024 11:04:59 +0000 Subject: [PATCH] aarch64: Register rng builtins with uint64_t pointers. Currently, these are registered as unsigned_intDI_type_node which is not necessarily the same type definition as uint64_t. On platforms where these differ that causes fails in consuming the arm_acle.h header. gcc/ChangeLog: * config/aarch64/aarch64-builtins.cc (aarch64_init_rng_builtins): Register these builtins with a pointer to uint64_t rather than unsigned DI mode. --- gcc/config/aarch64/aarch64-builtins.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc index 9b23b6b8c33..277904f6d14 100644 --- a/gcc/config/aarch64/aarch64-builtins.cc +++ b/gcc/config/aarch64/aarch64-builtins.cc @@ -1731,7 +1731,8 @@ aarch64_init_tme_builtins (void) static void aarch64_init_rng_builtins (void) { - tree unsigned_ptr_type = build_pointer_type (unsigned_intDI_type_node); + tree unsigned_ptr_type + = build_pointer_type (get_typenode_from_name (UINT64_TYPE)); tree ftype = build_function_type_list (integer_type_node, unsigned_ptr_type, NULL); aarch64_builtin_decls[AARCH64_BUILTIN_RNG_RNDR]