llvm/clang/include/clang/Basic/DiagnosticOptions.def

//===--- DiagOptions.def - Diagnostic 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 the diagnostic options. Users of this file
// must define the DIAGOPT macro to make use of this information.
// Optionally, the user may also define ENUM_DIAGOPT (for options
// that have enumeration type and VALUE_DIAGOPT (for options that
// describe a value rather than a flag). The SEMANTIC_* variants of these macros
// indicate options that affect the processing of the program, rather than
// simply the output.
//
//===----------------------------------------------------------------------===//
#ifndef DIAGOPT
#  error Define the DIAGOPT macro to handle language options
#endif

#ifndef VALUE_DIAGOPT
#  define VALUE_DIAGOPT(Name, Bits, Default) \
DIAGOPT(Name, Bits, Default)
#endif

#ifndef ENUM_DIAGOPT
#  define ENUM_DIAGOPT(Name, Type, Bits, Default) \
DIAGOPT(Name, Bits, Default)
#endif

#ifndef SEMANTIC_DIAGOPT
#  define SEMANTIC_DIAGOPT(Name, Bits, Default) DIAGOPT(Name, Bits, Default)
#endif

#ifndef SEMANTIC_VALUE_DIAGOPT
#  define SEMANTIC_VALUE_DIAGOPT(Name, Bits, Default) \
     VALUE_DIAGOPT(Name, Bits, Default)
#endif

#ifndef SEMANTIC_ENUM_DIAGOPT
#  define SEMANTIC_ENUM_DIAGOPT(Name, Type, Bits, Default) \
     ENUM_DIAGOPT(Name, Type, Bits, Default)
#endif

SEMANTIC_DIAGOPT(}