brintos

brintos / llvm-project-archived public Read only

0
0
Text · 544 B · f318f66 Raw
25 lines · cpp
1// RUN: %clangxx_msan -O0 %s -o %t && %run %t2// RUN: %clangxx_msan -DPOSITIVE -O0 %s -o %t && not %run %t 2>&1 | FileCheck %s3// REQUIRES: x86_64-target-arch4 5#include <emmintrin.h>6 7int to_int(double &v) {8  __m128d t = _mm_set_sd(v);9  int x = _mm_cvtsd_si32(t);10  return x;11  // CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value12  // CHECK: #{{.*}} in to_int{{.*}}vector_cvt.cpp:[[@LINE-3]]13}14 15int main() {16#ifdef POSITIVE17  double v;18#else19  double v = 1.1;20#endif21  double* volatile p = &v;22  int x = to_int(*p);23  return !x;24}25