1 | //===-- options_parser.h ----------------------------------------*- C++ -*-===// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | |
9 | #ifndef GWP_ASAN_OPTIONAL_OPTIONS_PARSER_H_ |
10 | #define GWP_ASAN_OPTIONAL_OPTIONS_PARSER_H_ |
11 | |
12 | #include "gwp_asan/optional/printf.h" |
13 | #include "gwp_asan/options.h" |
14 | |
15 | namespace gwp_asan { |
16 | namespace options { |
17 | // Parse the options from the GWP_ASAN_OPTIONS environment variable. |
18 | void initOptions(Printf_t PrintfForWarnings = nullptr); |
19 | // Parse the options from the provided string. |
20 | void initOptions(const char *OptionsStr, Printf_t PrintfForWarnings = nullptr); |
21 | // Returns the initialised options. Call initOptions() prior to calling this |
22 | // function. |
23 | Options &getOptions(); |
24 | } // namespace options |
25 | } // namespace gwp_asan |
26 | |
27 | extern "C" { |
28 | __attribute__((weak)) const char *__gwp_asan_default_options(); |
29 | } |
30 | |
31 | #endif // GWP_ASAN_OPTIONAL_OPTIONS_PARSER_H_ |
32 | |