aarch64_output_simd_mov_imm_low emits the instruction directly using
output_asm_insn and returns an empty string to indicate that no further
template needs to be emitted. Since the returned empty string is a string
literal, the function should return const char * rather than char *.
This fixes a bootstrap failure with -Werror=write-strings.
gcc/ChangeLog:
* config/aarch64/aarch64-protos.h (aarch64_output_simd_mov_imm_low):
Change return type to const char *.
* config/aarch64/aarch64.cc (aarch64_output_simd_mov_imm_low): Likewise.
Signed-off-by: Naveen <[email protected]>
---
gcc/config/aarch64/aarch64-protos.h | 2 +-
gcc/config/aarch64/aarch64.cc | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-protos.h
b/gcc/config/aarch64/aarch64-protos.h
index 0798546809d..8d201821e93 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -952,7 +952,7 @@ char *aarch64_output_simd_and_imm (rtx, unsigned);
char *aarch64_output_simd_xor_imm (rtx, unsigned);
char *aarch64_output_fmov (rtx);
-char *aarch64_output_simd_mov_imm_low (rtx *);
+const char *aarch64_output_simd_mov_imm_low (rtx *);
char *aarch64_output_sve_mov_immediate (rtx);
char *aarch64_output_sve_ptrues (rtx);
bool aarch64_const_vec_fmov_p (rtx);
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 619c2a6d226..cd5ed154c7a 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -24650,7 +24650,7 @@ aarch64_const_vec_fmov_p (rtx op)
/* Output a move of an FP constant vector in which the low register element is
materialized using FMOV and all other elements are zero. */
-char *
+const char *
aarch64_output_simd_mov_imm_low (rtx *operands)
{
machine_mode mode = GET_MODE (operands[1]);
--
2.34.1