xref: /llvm-project/compiler-rt/test/hwasan/TestCases/use-after-scope.cpp (revision c1f008e2e5acfecdeb4bead5b685df52819c09fd)
1 // This is the ASAN test of the same name ported to HWAsan.
2 
3 // RUN: %clangxx_hwasan -O1 %s -o %t && \
4 // RUN:     not %run %t 2>&1 | FileCheck %s
5 
6 // REQUIRES: aarch64-target-arch || riscv64-target-arch
7 
8 volatile int *p = 0;
9 
main()10 int main() {
11   {
12     int x = 0;
13     p = &x;
14   }
15   *p = 5; // BOOM
16   // CHECK: ERROR: HWAddressSanitizer: tag-mismatch
17   // CHECK:  #0 0x{{.*}} in main {{.*}}use-after-scope.cpp:[[@LINE-2]]
18   // CHECK: Cause: stack tag-mismatch
19   return 0;
20 }
21