testsuite: Fix up gcc.target/aarch64/pr112406.c for modern C [PR112406]
Checks
Commit Message
On Fri, Nov 17, 2023 at 02:04:01PM +0100, Robin Dapp wrote:
> > Yes, your version is also OK.
>
> The attached was bootstrapped and regtested on aarch64, x86 and
> regtested on riscv. Going to commit it later unless somebody objects.
Unfortunately the aarch64/pr112406.c was reduced too much and is rejected
since the switch to modern C patchset.
The following patch fixes that, I've verified the testcase
before/after the changes still ICEs in r14-5563 and doesn't with
r14-5564 and after the changes compiles fine with even latest trunk.
Everything admittedly with a cross-compiler, but that shouldn't change
anything.
Ok for trunk?
Note, one of the modern C changes is that at least when people use
cvise/creduce/delta scripts which ensure no further errors are introduced
during the reduction then expected originally such reductions will not
appear anymore.
2023-12-03 Jakub Jelinek <jakub@redhat.com>
PR middle-end/112406
* gcc.target/aarch64/pr112406.c (MagickPixelPacket): Add missing
semicolon.
(GetImageChannelMoments_image): Avoid using implicit int.
(SetMagickPixelPacket): Use void return type instead of implicit int.
(GetImageChannelMoments): Likewise. Use __builtin_atan instead of
atan.
Jakub
Comments
> Am 03.12.2023 um 19:32 schrieb Jakub Jelinek <jakub@redhat.com>:
>
> On Fri, Nov 17, 2023 at 02:04:01PM +0100, Robin Dapp wrote:
>>> Yes, your version is also OK.
>>
>> The attached was bootstrapped and regtested on aarch64, x86 and
>> regtested on riscv. Going to commit it later unless somebody objects.
>
> Unfortunately the aarch64/pr112406.c was reduced too much and is rejected
> since the switch to modern C patchset.
>
> The following patch fixes that, I've verified the testcase
> before/after the changes still ICEs in r14-5563 and doesn't with
> r14-5564 and after the changes compiles fine with even latest trunk.
> Everything admittedly with a cross-compiler, but that shouldn't change
> anything.
>
> Ok for trunk?
Ok
> Note, one of the modern C changes is that at least when people use
> cvise/creduce/delta scripts which ensure no further errors are introduced
> during the reduction then expected originally such reductions will not
> appear anymore.
>
> 2023-12-03 Jakub Jelinek <jakub@redhat.com>
>
> PR middle-end/112406
> * gcc.target/aarch64/pr112406.c (MagickPixelPacket): Add missing
> semicolon.
> (GetImageChannelMoments_image): Avoid using implicit int.
> (SetMagickPixelPacket): Use void return type instead of implicit int.
> (GetImageChannelMoments): Likewise. Use __builtin_atan instead of
> atan.
>
> --- gcc/testsuite/gcc.target/aarch64/pr112406.c.jj 2023-11-18 09:35:20.944084686 +0100
> +++ gcc/testsuite/gcc.target/aarch64/pr112406.c 2023-12-03 19:05:16.109365791 +0100
> @@ -2,10 +2,10 @@
> /* { dg-options "-march=armv8-a+sve -w -Ofast" } */
>
> typedef struct {
> - int red
> + int red;
> } MagickPixelPacket;
>
> -GetImageChannelMoments_image, GetImageChannelMoments_image_0,
> +int GetImageChannelMoments_image, GetImageChannelMoments_image_0,
> GetImageChannelMoments___trans_tmp_1, GetImageChannelMoments_M11_0,
> GetImageChannelMoments_pixel_3, GetImageChannelMoments_y,
> GetImageChannelMoments_p;
> @@ -15,10 +15,12 @@ double GetImageChannelMoments_M00_0, Get
>
> MagickPixelPacket GetImageChannelMoments_pixel;
>
> +void
> SetMagickPixelPacket(int color, MagickPixelPacket *pixel) {
> pixel->red = color;
> }
>
> +void
> GetImageChannelMoments() {
> for (; GetImageChannelMoments_y; GetImageChannelMoments_y++) {
> SetMagickPixelPacket(GetImageChannelMoments_p,
> @@ -33,5 +35,5 @@ GetImageChannelMoments() {
> GetImageChannelMoments_M01_1 +=
> GetImageChannelMoments_y * GetImageChannelMoments_p++;
> }
> - GetImageChannelMoments___trans_tmp_1 = atan(GetImageChannelMoments_M11_0);
> + GetImageChannelMoments___trans_tmp_1 = __builtin_atan(GetImageChannelMoments_M11_0);
> }
>
>
> Jakub
>
@@ -2,10 +2,10 @@
/* { dg-options "-march=armv8-a+sve -w -Ofast" } */
typedef struct {
- int red
+ int red;
} MagickPixelPacket;
-GetImageChannelMoments_image, GetImageChannelMoments_image_0,
+int GetImageChannelMoments_image, GetImageChannelMoments_image_0,
GetImageChannelMoments___trans_tmp_1, GetImageChannelMoments_M11_0,
GetImageChannelMoments_pixel_3, GetImageChannelMoments_y,
GetImageChannelMoments_p;
@@ -15,10 +15,12 @@ double GetImageChannelMoments_M00_0, Get
MagickPixelPacket GetImageChannelMoments_pixel;
+void
SetMagickPixelPacket(int color, MagickPixelPacket *pixel) {
pixel->red = color;
}
+void
GetImageChannelMoments() {
for (; GetImageChannelMoments_y; GetImageChannelMoments_y++) {
SetMagickPixelPacket(GetImageChannelMoments_p,
@@ -33,5 +35,5 @@ GetImageChannelMoments() {
GetImageChannelMoments_M01_1 +=
GetImageChannelMoments_y * GetImageChannelMoments_p++;
}
- GetImageChannelMoments___trans_tmp_1 = atan(GetImageChannelMoments_M11_0);
+ GetImageChannelMoments___trans_tmp_1 = __builtin_atan(GetImageChannelMoments_M11_0);
}