40 lines · c
1//===-- sancov_flags.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-exception6//7//===----------------------------------------------------------------------===//8//9// Sanitizer Coverage runtime flags.10//11//===----------------------------------------------------------------------===//12#ifndef SANCOV_FLAGS_H13#define SANCOV_FLAGS_H14 15#include "sanitizer_flag_parser.h"16#include "sanitizer_internal_defs.h"17 18namespace __sancov {19 20struct SancovFlags {21#define SANCOV_FLAG(Type, Name, DefaultValue, Description) Type Name;22#include "sancov_flags.inc"23#undef SANCOV_FLAG24 25 void SetDefaults();26};27 28extern SancovFlags sancov_flags_dont_use_directly;29 30inline SancovFlags* sancov_flags() { return &sancov_flags_dont_use_directly; }31 32void InitializeSancovFlags();33 34} // namespace __sancov35 36extern "C" SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE const char*37__sancov_default_options();38 39#endif40