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; 222d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines int origin_history_size; 232d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines int origin_history_per_stack_limit; 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 27effdc7e483708cfa4dc597c21f246c5dbc09daa0Evgeniy Stepanov bool poison_in_free; // default: true 2878c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov bool report_umrs; 29a213ab66e1c743ec7a52af4a49ec6c126cc245aeEvgeniy Stepanov bool wrap_signals; 302d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines bool print_stats; 31dbac0a4a41f405d10e3dcad3597fe08986605289Dmitry Vyukov bool halt_on_error; 325d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines bool atexit; 335d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines int store_context_size; // like malloc_context_size, but for uninit stores 3478c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov}; 3578c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov 3678c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy StepanovFlags *flags(); 3778c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov 3878c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov} // namespace __msan 3978c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov 4078c56c3c407d2c92825c86e6af7a0230d6019a1cEvgeniy Stepanov#endif // MSAN_FLAGS_H 41