https://gcc.gnu.org/g:68e64c45380e42657ece999c9fe5b68044847e49
commit r15-6012-g68e64c45380e42657ece999c9fe5b68044847e49 Author: Georg-Johann Lay <a...@gjlay.de> Date: Sat Dec 7 19:54:02 2024 +0100 AVR: Better location for late (during final) diagnostic. gcc/ * config/avr/avr.cc (avr_print_operand_address): Use avr_insn_location as location for late (during final) diagnostic. Diff: --- gcc/config/avr/avr.cc | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc index 3544571d3dfa..7c7736781c8a 100644 --- a/gcc/config/avr/avr.cc +++ b/gcc/config/avr/avr.cc @@ -2538,11 +2538,17 @@ avr_print_operand_address (FILE *file, machine_mode /*mode*/, rtx addr) fprintf (file, "+" HOST_WIDE_INT_PRINT_DEC ")", 2 * INTVAL (XEXP (x, 1))); if (AVR_3_BYTE_PC) - if (warning (0, "pointer offset from symbol maybe incorrect")) - { - output_addr_const (stderr, addr); - fprintf (stderr, "\n"); - } + { + location_t loc = avr_insn_location != UNKNOWN_LOCATION + ? avr_insn_location + : input_location; + if (warning_at (loc, 0, "pointer offset from symbol may be" + " incorrect")) + { + output_addr_const (stderr, addr); + fprintf (stderr, "\n"); + } + } } else {