]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Fix up builtin-clear-padding-3.c for -funsigned-char
authorJakub Jelinek <jakub@redhat.com>
Thu, 18 Jul 2024 07:22:10 +0000 (09:22 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 13 Jun 2025 09:05:18 +0000 (11:05 +0200)
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  <jakub@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)

gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c

index 27bf8f6dd7347c48c67f80ef97faf5a67dad5077..2c673169e1340ab9666888a9b8b46f17980d0c18 100644 (file)
@@ -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));