// RUN: %clangxx_msan -m64 -DERROR %s -o %t && not %run %t 2>&1 | \
// RUN:     FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-NOCB
// RUN: %clangxx_msan -m64 -DERROR -DMSANCB_SET %s -o %t && not %run %t 2>&1 | \
// RUN:     FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-CB
// RUN: %clangxx_msan -m64 -DERROR -DMSANCB_SET -DMSANCB_CLEAR %s -o %t && not %run %t 2>&1 | \
// RUN:     FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-NOCB
// RUN: %clangxx_msan -m64 -DMSANCB_SET %s -o %t && %run %t 2>&1 | \
// RUN:     FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-NOCB

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

void cb(void) {
  fprintf(stderr, "msan-death-callback\n");
}

int main(int argc, char **argv) {
  int *volatile p = (int *)malloc(sizeof(int));
  *p = 42;
  free(p);

#ifdef MSANCB_SET
  __msan_set_death_callback(cb);
#endif

#ifdef MSANCB_CLEAR
  __msan_set_death_callback(0);
#endif

#ifdef ERROR
  if (*p)
    exit(0);
#endif
  // CHECK-CB: msan-death-callback
  // CHECK-NOCB-NOT: msan-death-callback
  fprintf(stderr, "done\n");
  return 0;
}
