llvm/clang/include/clang/Basic/DebugOptions.def

//===--- DebugOptions.def - Debug option database ----------------- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file defines debug-specific codegen options. Users of this file
// must define the CODEGENOPT macro to make use of this information.
// Optionally, the user may also define DEBUGOPT (for flags), ENUM_DEBUGOPT (for
// options that have enumeration type), and VALUE_DEBUGOPT (is a debug option
// that describes a value rather than a flag).
//
// BENIGN_ variants of the macros are used to describe options that do not
// affect the generated PCM.
//
//===----------------------------------------------------------------------===//
#ifndef DEBUGOPT
#define DEBUGOPT(Name, Bits, Default) \
CODEGENOPT(Name, Bits, Default)
#endif

#ifndef VALUE_DEBUGOPT
#  define VALUE_DEBUGOPT(Name, Bits, Default) \
VALUE_CODEGENOPT(Name, Bits, Default)
#endif

#ifndef ENUM_DEBUGOPT
#  define ENUM_DEBUGOPT(Name, Type, Bits, Default) \
ENUM_CODEGENOPT(Name, Type, Bits, Default)
#endif

#ifndef BENIGN_DEBUGOPT
#define BENIGN_DEBUGOPT(Name, Bits, Default) \
DEBUGOPT(Name, Bits, Default)
#endif

#ifndef BENIGN_VALUE_DEBUGOPT
#  define BENIGN_VALUE_DEBUGOPT(Name, Bits, Default) \
VALUE_DEBUGOPT(Name, Bits, Default)
#endif

#ifndef BENIGN_ENUM_DEBUGOPT
#  define BENIGN_ENUM_DEBUGOPT(Name, Type, Bits, Default) \
ENUM_DEBUGOPT(Name, Type, Bits, Default)
#endif

BENIGN_ENUM_DEBUGOPT(CompressDebugSections, llvm::DebugCompressionType, 2,
                     llvm::DebugCompressionType::None)
DEBUGOPT(}