1*673dc3d4SNico Weber // RUN: %clangxx_asan -O1 -fsanitize-address-use-after-scope %s -o %t && \
2*673dc3d4SNico Weber // RUN:     not %run %t 2>&1 | FileCheck %s
3*673dc3d4SNico Weber 
4*673dc3d4SNico Weber int *p[3];
5*673dc3d4SNico Weber 
main()6*673dc3d4SNico Weber int main() {
7*673dc3d4SNico Weber   for (int i = 0; i < 3; i++) {
8*673dc3d4SNico Weber     int x;
9*673dc3d4SNico Weber     p[i] = &x;
10*673dc3d4SNico Weber   }
11*673dc3d4SNico Weber   return **p;  // BOOM
12*673dc3d4SNico Weber   // CHECK: ERROR: AddressSanitizer: stack-use-after-scope
13*673dc3d4SNico Weber   // CHECK: #0 0x{{.*}} in main {{.*}}.cpp:[[@LINE-2]]
14*673dc3d4SNico Weber }
15