197edeb3e6270b05cb3ece0d5b6f0ea1f0ba1398aEvgeniy Stepanov//===-- msan_flags.h --------------------------------------------*- C++ -*-===// 278c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// 378c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// The LLVM Compiler Infrastructure 478c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// 578c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// This file is distributed under the University of Illinois Open Source 678c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// License. See LICENSE.TXT for details. 778c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// 878c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov//===----------------------------------------------------------------------===// 978c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// 1078c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// This file is a part of MemorySanitizer. 1178c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// 1278c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// MemorySanitizer allocator. 1378c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov//===----------------------------------------------------------------------===// 1478c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov#ifndef MSAN_FLAGS_H 1578c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov#define MSAN_FLAGS_H 1678c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov 1778c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanovnamespace __msan { 1878c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov 1978c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov// Flags. 2078c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanovstruct Flags { 2178c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov int exit_code; 2278c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov int num_callers; 2378c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov int verbosity; 2478c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov bool poison_heap_with_zeroes; // default: false 2578c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov bool poison_stack_with_zeroes; // default: false 2678c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov bool poison_in_malloc; // default: true 2778c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov bool report_umrs; 281d333c5a34d896f239001e3fe69a660e40d15301Kostya Serebryany const char *strip_path_prefix; 2958b52b5efb7641b27c1728be0946889f335d83e1Evgeniy Stepanov // Use fast (frame-pointer-based) unwinder on fatal errors (if available). 3058b52b5efb7641b27c1728be0946889f335d83e1Evgeniy Stepanov bool fast_unwind_on_fatal; 3158b52b5efb7641b27c1728be0946889f335d83e1Evgeniy Stepanov // Use fast (frame-pointer-based) unwinder on malloc/free (if available). 3258b52b5efb7641b27c1728be0946889f335d83e1Evgeniy Stepanov bool fast_unwind_on_malloc; 3378c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov}; 3478c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov 3578c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy StepanovFlags *flags(); 3678c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov 3778c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov} // namespace __msan 3878c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov 3978c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov#endif // MSAN_FLAGS_H 40