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 Bukaint 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