1*66b4aafaSFlorian Mayer // This is the ASAN test of the same name ported to HWAsan. 2*66b4aafaSFlorian Mayer 3*66b4aafaSFlorian Mayer // RUN: %clangxx_hwasan -mllvm -hwasan-use-after-scope -O1 %s -o %t && \ 4f3f287f0SFlorian Mayer // RUN: not %run %t 2>&1 | FileCheck %s 5*66b4aafaSFlorian Mayer 6*66b4aafaSFlorian Mayer // REQUIRES: aarch64-target-arch 7*66b4aafaSFlorian Mayer // REQUIRES: stable-runtime 8f3f287f0SFlorian Mayer 9f3f287f0SFlorian Mayer int *p[3]; 10f3f287f0SFlorian Mayer main()11f3f287f0SFlorian Mayerint main() { 12f3f287f0SFlorian Mayer for (int i = 0; i < 3; i++) { 13f3f287f0SFlorian Mayer int x; 14f3f287f0SFlorian Mayer p[i] = &x; 15f3f287f0SFlorian Mayer } 16f3f287f0SFlorian Mayer return **p; // BOOM 17*66b4aafaSFlorian Mayer // CHECK: ERROR: HWAddressSanitizer: tag-mismatch 18f3f287f0SFlorian Mayer // CHECK: #0 0x{{.*}} in main {{.*}}.cpp:[[@LINE-2]] 19*66b4aafaSFlorian Mayer // CHECK: Cause: stack tag-mismatch 20f3f287f0SFlorian Mayer } 21