1*aeca5696SVitaly Buka // RUN: %clangxx_msan -O2 %s -o %t && \
2*aeca5696SVitaly Buka // RUN:     not %run %t 2>&1 | FileCheck %s
3*aeca5696SVitaly Buka 
4*aeca5696SVitaly Buka #include <stdlib.h>
5*aeca5696SVitaly Buka 
6*aeca5696SVitaly Buka int *p;
7*aeca5696SVitaly Buka 
main()8*aeca5696SVitaly Buka int main() {
9*aeca5696SVitaly Buka   for (int i = 0; i < 3; i++) {
10*aeca5696SVitaly Buka     int x;
11*aeca5696SVitaly Buka     if (i == 0)
12*aeca5696SVitaly Buka       x = 0;
13*aeca5696SVitaly Buka     p = &x;
14*aeca5696SVitaly Buka   }
15*aeca5696SVitaly Buka   return *p; // BOOM
16*aeca5696SVitaly Buka   // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
17*aeca5696SVitaly Buka   // CHECK:  #0 0x{{.*}} in main {{.*}}loop-scope.cpp:[[@LINE-2]]
18*aeca5696SVitaly Buka }
19