https://gcc.gnu.org/g:39f89e0daf6933fc888b79aa15f358b145c212ee
commit r11-11582-g39f89e0daf6933fc888b79aa15f358b145c212ee Author: Jakub Jelinek <ja...@redhat.com> Date: Thu Jul 18 09:22:10 2024 +0200 testsuite: Fix up builtin-clear-padding-3.c for -funsigned-char As reported on gcc-regression, this test FAILs on aarch64, but my r15-2090 change didn't change anything on the generated assembly, just added the forgotten dg-do run directive to the test, so the test has been failing forever, just we didn't know it. I can actually reproduce it on x86_64 with -funsigned-char too, s2.b.a has int type and -1 is stored to it, so we should compare it against -1 rather than (char) -1; the latter is appropriate for testing char fields into which we've stored -1. 2024-07-18 Jakub Jelinek <ja...@redhat.com> * c-c++-common/torture/builtin-clear-padding-3.c (main): Compare s2.b.a against -1 rather than (char) -1. (cherry picked from commit 958ee138748fae4371e453eb9b357f576abbe83e) Diff: --- gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c b/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c index 27bf8f6dd734..2c673169e134 100644 --- a/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c +++ b/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c @@ -34,7 +34,7 @@ main () foo (&s1, 0); foo (&s2, 0); __builtin_clear_padding (&s2); - if (s2.b.a != (char) -1) + if (s2.b.a != -1) __builtin_abort (); __builtin_clear_padding (&s2.b.a); __builtin_memset (&s2.b.a + 1, 0, sizeof (union U) - sizeof (s2.b.a));