brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 228479c Raw
46 lines · cpp
1// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -g %s -o %t2// RUN: %run %t 2>&1 | \3// RUN:   FileCheck --check-prefixes=CHECK,CHECK-NOSTATS %s4// RUN: env MSAN_OPTIONS=print_stats=1 %run %t 2>&1 | \5// RUN:   FileCheck --check-prefixes=CHECK,CHECK-NOSTATS %s6// RUN: env MSAN_OPTIONS=print_stats=1,atexit=1 %run %t 2>&1 | \7// RUN:   FileCheck --check-prefixes=CHECK,CHECK-STATS %s8 9// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -g -DPOSITIVE=1 %s -o %t10// RUN: not %run %t 2>&1 | \11// RUN:   FileCheck --check-prefixes=CHECK,CHECK-NOSTATS %s12// RUN: env MSAN_OPTIONS=print_stats=1 not %run %t 2>&1 | \13// RUN:   FileCheck --check-prefixes=CHECK,CHECK-STATS %s14 15// RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -fsanitize-recover=memory -g -DPOSITIVE=1 %s -o %t16// RUN: not %run %t 2>&1 | \17// RUN:  FileCheck --check-prefixes=CHECK,CHECK-NOSTATS,CHECK-RECOVER %s18// RUN: env MSAN_OPTIONS=print_stats=1 not %run %t 2>&1 | \19// RUN:   FileCheck --check-prefixes=CHECK,CHECK-STATS,CHECK-RECOVER %s20 21#include <stdio.h>22int main(int argc, char **argv) {23  int x;24  int *volatile p = &x;25  fprintf(stderr, "TEST\n");26#ifdef POSITIVE27  return *p;28#else29  return 0;30#endif31}32 33// CHECK: TEST34 35// CHECK-STATS: Unique heap origins:36// CHECK-STATS: Stack depot allocated bytes:37// CHECK-STATS: Unique origin histories:38// CHECK-STATS: History depot allocated bytes:39 40// CHECK-NOSTATS-NOT: Unique heap origins:41// CHECK-NOSTATS-NOT: Stack depot allocated bytes:42// CHECK-NOSTATS-NOT: Unique origin histories:43// CHECK-NOSTATS-NOT: History depot allocated bytes:44 45// CHECK-RECOVER: MemorySanitizer: 1 warnings reported.46