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.