// Regression test for origin propagation in "select i1, float, float".
// https://code.google.com/p/memory-sanitizer/issues/detail?id=78

// RUN: %clangxx_msan -O2 -fsanitize-memory-track-origins %s -o %t && not %run %t >%t.out 2>&1
// RUN: FileCheck %s < %t.out

// RUN: %clangxx_msan -O2 -fsanitize-memory-track-origins=2 %s -o %t && not %run %t >%t.out 2>&1
// RUN: FileCheck %s < %t.out

#include <stdio.h>
#include <sanitizer/msan_interface.h>

int main() {
  volatile bool b = true;
  float x, y;
  __msan_allocated_memory(&x, sizeof(x));
  __msan_allocated_memory(&y, sizeof(y));
  float z = b ? x : y;
  if (z > 0) printf(".\n");
  // CHECK: Memory was marked as uninitialized
  // CHECK: {{#0 0x.* in .*__msan_allocated_memory}}
  // CHECK: {{#1 0x.* in main .*select_float_origin.cc:}}[[@LINE-6]]
  return 0;
}
