| /* PR sanitizer/78106 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-fsanitize=hwaddress -fdump-tree-sanopt-details -ffat-lto-objects" } */ |
| |
| int *variable; |
| |
| void __attribute__((used)) release() |
| { |
| __builtin_free (variable); |
| } |
| |
| int main2(int argc) |
| { |
| *variable = 2; |
| |
| if (argc <= 5) |
| asm volatile ("call release"); |
| |
| *variable = 2; |
| __builtin_abort (); |
| |
| return 0; |
| } |
| |
| int main(int argc, char **argv) |
| { |
| variable = (int *)__builtin_malloc (sizeof(int)); |
| return main2(argc); |
| } |
| |
| /* { dg-final { scan-tree-dump-not "Optimizing out(\n|\r\n|\r) HWASAN_CHECK \\(7, variable.*" "sanopt" } } */ |