1*d21b3d34SFangrui Song // RUN: %clangxx_msan -O0 -g %s -o %t && %run %t 2*d21b3d34SFangrui Song // RUN: %clangxx_msan -O0 -g -DUNINIT %s -o %t && not %run %t 2>&1 | FileCheck %s 3*d21b3d34SFangrui Song 4*d21b3d34SFangrui Song #include <assert.h> 5*d21b3d34SFangrui Song #include <stdio.h> 6*d21b3d34SFangrui Song #include <stdlib.h> 7*d21b3d34SFangrui Song main(void)8*d21b3d34SFangrui Songint main(void) { 9*d21b3d34SFangrui Song unsigned seed; 10*d21b3d34SFangrui Song #ifndef UNINIT 11*d21b3d34SFangrui Song seed = 42; 12*d21b3d34SFangrui Song #endif 13*d21b3d34SFangrui Song int v = rand_r(&seed); 14*d21b3d34SFangrui Song // CHECK: MemorySanitizer: use-of-uninitialized-value 15*d21b3d34SFangrui Song // CHECK: in main{{.*}}rand_r.cpp:[[@LINE-2]] 16*d21b3d34SFangrui Song if (v) printf(".\n"); 17*d21b3d34SFangrui Song return 0; 18*d21b3d34SFangrui Song } 19