| // RUN: %clangxx_msan -O0 -g %s -o %t && %run %t | |
| // RUN: %clangxx_msan -O0 -g -DUNINIT %s -o %t && not %run %t 2>&1 | FileCheck %s | |
| #include <assert.h> | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| int main(void) { | |
| unsigned seed; | |
| #ifndef UNINIT | |
| seed = 42; | |
| #endif | |
| int v = rand_r(&seed); | |
| // CHECK: MemorySanitizer: use-of-uninitialized-value | |
| // CHECK: in main{{.*}}rand_r.cpp:[[@LINE-2]] | |
| if (v) printf(".\n"); | |
| return 0; | |
| } |