brintos

brintos / llvm-project-archived public Read only

0
0
Text · 847 B · 4d5fcec Raw
29 lines · cpp
1// RUN: %clangxx_msan -std=c++11 -O0 -g %s -o %t && not %run %t 2>&1 | FileCheck %s2// RUN: %clangxx_msan -DLEFT_OK -std=c++11 -O0 -g %s -o %t && not %run %t 2>&1 | FileCheck %s3// RUN: %clangxx_msan -DRIGHT_OK -std=c++11 -O0 -g %s -o %t && not %run %t 2>&1 | FileCheck %s4// RUN: %clangxx_msan -DLEFT_OK -DRIGHT_OK -std=c++11 -O0 -g %s -o %t && %run %t5// REQUIRES: !android6 7#include <assert.h>8#include <sanitizer/msan_interface.h>9#include <signal.h>10#include <sys/time.h>11#include <unistd.h>12 13int main(void) {14  sigset_t s, t, u;15#ifdef LEFT_OK16  sigemptyset(&t);17#endif18#ifdef RIGHT_OK19  sigemptyset(&u);20#endif21 22  // CHECK:  MemorySanitizer: use-of-uninitialized-value23  // CHECK-NEXT: in main {{.*}}sigandorset.cpp:[[@LINE+1]]24  sigandset(&s, &t, &u);25  sigorset(&s, &t, &u);26  __msan_check_mem_is_initialized(&s, sizeof s);27  return 0;28}29