/* { dg-do run } */ /* { dg-require-effective-target hwaddress_exec } */ /* { dg-shouldfail "hwasan" } */ #define alloca __builtin_alloca int __attribute__ ((noinline)) check_alloca (int num) { volatile int *allocd_array = (int*)alloca (num * sizeof(int)); int other_array[10]; return allocd_array[12]; } int __attribute__ ((noinline)) main () { check_alloca (3); return 1; } /* { dg-output "HWAddressSanitizer: tag-mismatch on address 0x\[0-9a-f\]*.*" } */ /* { dg-output "READ of size 4 at 0x\[0-9a-f\]* tags: \[\[:xdigit:\]\]\[\[:xdigit:\]\]/\[\[:xdigit:\]\]\[\[:xdigit:\]\].* \\(ptr/mem\\) in thread T0.*" } */ /* { dg-output "Address 0x\[0-9a-f\]* is located in stack of thread T0.*" } */ /* { dg-output "SUMMARY: HWAddressSanitizer: tag-mismatch \[^\n\]*.*" } */