https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121684

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |16.0
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1
             Target|aarch64-linux-gnu           |
          Component|sanitizer                   |testsuite
   Last reconfirmed|                            |2025-08-27

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
```
diff --git a/gcc/testsuite/c-c++-common/hwasan/unprotected-allocas-0.c
b/gcc/testsuite/c-c++-common/hwasan/unprotected-allocas-0.c
index 88465155c6d..0feca6a6d9d 100644
--- a/gcc/testsuite/c-c++-common/hwasan/unprotected-allocas-0.c
+++ b/gcc/testsuite/c-c++-common/hwasan/unprotected-allocas-0.c
@@ -12,7 +12,7 @@

 char tag_of (void * x) { return ((unsigned long long)x) >> 56; }

-int __attribute__ ((noinline))
+int __attribute__ ((noinline,noclone))
 using_alloca (int num)
 {
   int retval = 0;
@@ -25,7 +25,7 @@ using_alloca (int num)
   return retval;
 }

-int __attribute__ ((noinline))
+int __attribute__ ((noinline,noclone))
 using_vararray (int num)
 {
   int retval = 0;
```

Because at -O3, these functions will be cloned and constant proped in. and for
using_vararray we get:
```
  unsigned char big_array.12[48];
  long long unsigned int x.0_5;
  long long unsigned int _6;

  <bb 2> [local count: 118111600]:
  x.0_5 = (long long unsigned int) &big_array.12;
```

Which is not what we were testing.

Will apply this as obvious in a few hours.

Reply via email to