diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2024-12-03 14:19:40 +0100 |
---|---|---|
committer | Georg-Johann Lay <avr@gjlay.de> | 2024-12-03 21:52:06 +0100 |
commit | b6a43fe2c5498f823b5df735a4702f35a812e5bd (patch) | |
tree | 8a1b3ede7f40ca0abf0073da7a8763f7302c097c /gcc/testsuite/gcc.dg/tree-ssa | |
parent | 96f5fd3089075b56ea9ea85060213cc4edd7251a (diff) | |
download | gcc-b6a43fe2c5498f823b5df735a4702f35a812e5bd.zip gcc-b6a43fe2c5498f823b5df735a4702f35a812e5bd.tar.gz gcc-b6a43fe2c5498f823b5df735a4702f35a812e5bd.tar.bz2 |
AVR: Improve location of late diagnostics.
Some diagnostics are issues late, e.g. in avr_print_operand().
This patch uses the insn's location as a proxy for the operand
location. Without the patch, the location is usually input_location,
which points to the closing } of the function body.
gcc/
* config/avr/avr.cc (avr_insn_location): New variable.
(avr_final_prescan_insn): Set avr_insn_location.
(avr_asm_final_postscan_insn): Unset avr_insn_location after last insn.
(avr_print_operand): Pass avr_insn_location to warning_at.
gcc/testsuite/
* gcc.dg/Warray-bounds-33.c: Adjust for avr diagnostics.
* gcc.dg/pr56228.c: Same.
* gcc.dg/pr86124.c: Same.
* gcc.dg/pr94291.c: Same.
* gcc.dg/tree-ssa/pr82059.c: Same.
Diffstat (limited to 'gcc/testsuite/gcc.dg/tree-ssa')
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr82059.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr82059.c b/gcc/testsuite/gcc.dg/tree-ssa/pr82059.c index 6421101..ffa643f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr82059.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr82059.c @@ -1,7 +1,6 @@ /* PR tree-optimization/82059 */ /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-isolate-paths" } */ -/* { dg-skip-if "accessing data memory with program memory address" { avr-*-* } } */ struct a { @@ -19,5 +18,5 @@ h () if (!i) d (); i->c = &f; - i->b = *(char *) h; + i->b = *(char *) h; /* { dg-warning "accessing data memory with program memory address.*" "" { target avr-*-* } } */ } |