On 7/1/21 2:01 AM, Christophe LYON wrote:
On 30/06/2021 21:56, Martin Sebor via Gcc-patches wrote:
On 6/11/21 8:46 AM, Martin Sebor wrote:
On 6/11/21 3:58 AM, Richard Sandiford wrote:
Martin Sebor via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 7b37e1b602c..7cdc824730c 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -13242,13 +13242,8 @@ bounds_check (rtx operand, HOST_WIDE_INT
low, HOST_WIDE_INT high,
lane = INTVAL (operand);
if (lane < low || lane >= high)
- {
- if (exp)
- error ("%K%s %wd out of range %wd - %wd",
- exp, desc, lane, low, high - 1);
- else
- error ("%s %wd out of range %wd - %wd", desc, lane, low, high
- 1);
- }
+ error_at (EXPR_LOCATION (exp),
+ "%s %wd out of range %wd - %wd", desc, lane, low, high -
1);
}
/* Bounds-check lanes. */
This part doesn't look safe: “exp” is null when called from
arm_const_bounds.
Doh! Yes, will fix, thanks.
Attached is an updated patch with the test above restored.
Christophe, if you could apply it on top of patches 1 and 2 and run
the aarch64/arm tests that would be great!
Patch 1:
https://gcc.gnu.org/pipermail/gcc-patches/2021-June/573859.html
Patch 2:
https://gcc.gnu.org/pipermail/gcc-patches/2021-June/574088.html
Hi,
I hope I got it right, but there are a few regressions on aarch64/arm:
Thanks!
http://people.linaro.org/~christophe.lyon/cross-validation/gcc-test-patches/r12-1929-gf6bc9d9bddad7f9e3aad939bb6750770ac67f003-martin.patch
The patch I applied is
https://people.linaro.org/~christophe.lyon/cross-validation/gcc-test-patches/r12-1929-gf6bc9d9bddad7f9e3aad939bb6750770ac67f003-martin.patch/commit.txt
The regressions are the same on aarch64/arm:
Executed from: gcc.dg/format/format.exp
gcc.dg/format/c90-printf-1.c %s with NULL (test for warnings, line 243)
gcc.dg/format/c90-printf-1.c (test for excess errors)
gcc.dg/format/c90-printf-1.c -DWIDE %s with NULL (test for warnings,
line 243)
gcc.dg/format/c90-printf-1.c -DWIDE (test for excess errors)
The location of the warning has improved here leading to the test
failing where it looks for it in the wrong place (wrong column).
This is (or will be) fixed in the final patch by adjusting the test.
Executed from: gcc.dg/dg.exp
gcc.dg/pr79214.c (test for warnings, line 25)
gcc.dg/pr79214.c (test for warnings, line 30)
gcc.dg/pr79214.c (test for warnings, line 35)
gcc.dg/pr79214.c (test for warnings, line 40)
gcc.dg/pr79214.c (test for warnings, line 45)
gcc.dg/pr79214.c (test for warnings, line 52)
gcc.dg/pr79214.c (test for warnings, line 59)
gcc.dg/pr79214.c (test for warnings, line 66)
gcc.dg/pr79214.c (test for warnings, line 73)
gcc.dg/pr79214.c (test for warnings, line 80)
gcc.dg/pr79214.c (test for warnings, line 87)
This is also expected (on all targets) and something I'll deal with
before committing.
If you want to see the corresponding gcc.log, you can click on "log" in
the red cells of the top-level report.
Your results validate the aarch64 and arm changes so they're all
I needed.
Thanks again for your help!
Martin
HTH
Christophe
Thanks
Martin