1# this file simulates a program that has been built with MemorySanitizer
2# options
3
4message("MSAN_OPTIONS = [$ENV{MSAN_OPTIONS}]")
5string(REGEX REPLACE ".*log_path='([^']*)'.*" "\\1" LOG_FILE "$ENV{MSAN_OPTIONS}")
6message("LOG_FILE=[${LOG_FILE}]")
7
8# if we are not asked to simulate address sanitizer don't do it
9if(NOT "$ENV{MSAN_OPTIONS}]" MATCHES "simulate_sanitizer.1")
10  return()
11endif()
12# clear the log file
13file(REMOVE "${LOG_FILE}.2343")
14
15# create an error of each type of thread santizer
16# these names come from tsan_report.cc in llvm
17
18file(APPEND "${LOG_FILE}.2343"
19"=================================================================
20==28423== WARNING: MemorySanitizer: use-of-uninitialized-value
21    #0 0x7f4364210dd9 in main (/home/kitware/msan/msan-bin/umr+0x7bdd9)
22    #1 0x7f4362d9376c in __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226
23    #2 0x7f4364210b0c in _start (/home/kitware/msan/msan-bin/umr+0x7bb0c)
24
25SUMMARY: MemorySanitizer: use-of-uninitialized-value ??:0 main
26Exiting
27")
28