Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/clang/Basic/DebugOptions.def is written in an unsupported language. File is not indexed.

0001 //===--- DebugOptions.def - Debug option database ----------------- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 // This file defines debug-specific codegen options. Users of this file
0010 // must define the CODEGENOPT macro to make use of this information.
0011 // Optionally, the user may also define DEBUGOPT (for flags), ENUM_DEBUGOPT (for
0012 // options that have enumeration type), and VALUE_DEBUGOPT (is a debug option
0013 // that describes a value rather than a flag).
0014 //
0015 // BENIGN_ variants of the macros are used to describe options that do not
0016 // affect the generated PCM.
0017 //
0018 //===----------------------------------------------------------------------===//
0019 #ifndef DEBUGOPT
0020 #define DEBUGOPT(Name, Bits, Default) \
0021 CODEGENOPT(Name, Bits, Default)
0022 #endif
0023 
0024 #ifndef VALUE_DEBUGOPT
0025 #  define VALUE_DEBUGOPT(Name, Bits, Default) \
0026 VALUE_CODEGENOPT(Name, Bits, Default)
0027 #endif
0028 
0029 #ifndef ENUM_DEBUGOPT
0030 #  define ENUM_DEBUGOPT(Name, Type, Bits, Default) \
0031 ENUM_CODEGENOPT(Name, Type, Bits, Default)
0032 #endif
0033 
0034 #ifndef BENIGN_DEBUGOPT
0035 #define BENIGN_DEBUGOPT(Name, Bits, Default) \
0036 DEBUGOPT(Name, Bits, Default)
0037 #endif
0038 
0039 #ifndef BENIGN_VALUE_DEBUGOPT
0040 #  define BENIGN_VALUE_DEBUGOPT(Name, Bits, Default) \
0041 VALUE_DEBUGOPT(Name, Bits, Default)
0042 #endif
0043 
0044 #ifndef BENIGN_ENUM_DEBUGOPT
0045 #  define BENIGN_ENUM_DEBUGOPT(Name, Type, Bits, Default) \
0046 ENUM_DEBUGOPT(Name, Type, Bits, Default)
0047 #endif
0048 
0049 BENIGN_ENUM_DEBUGOPT(CompressDebugSections, llvm::DebugCompressionType, 2,
0050                      llvm::DebugCompressionType::None)
0051 DEBUGOPT(Dwarf64, 1, 0) ///< -gdwarf64.
0052 BENIGN_DEBUGOPT(EnableDIPreservationVerify, 1, 0) ///< Enable di preservation
0053                                                   ///< verify each (it means
0054                                                   ///< check the original debug
0055                                                   ///< info metadata
0056                                                   ///< preservation).
0057 BENIGN_DEBUGOPT(ForceDwarfFrameSection , 1, 0) ///< Set when -fforce-dwarf-frame
0058                                                ///< is enabled.
0059 
0060 ///< Set when -femit-dwarf-unwind is passed.
0061 BENIGN_ENUM_DEBUGOPT(EmitDwarfUnwind, llvm::EmitDwarfUnwindType, 2,
0062                      llvm::EmitDwarfUnwindType::Default)
0063 
0064 BENIGN_DEBUGOPT(NoDwarfDirectoryAsm , 1, 0) ///< Set when -fno-dwarf-directory-asm
0065                                             ///< is enabled.
0066 
0067 BENIGN_DEBUGOPT(NoInlineLineTables, 1, 0) ///< Whether debug info should contain
0068                                           ///< inline line tables.
0069 
0070 DEBUGOPT(DebugStrictDwarf, 1, 1) ///< Whether or not to use strict DWARF info.
0071 DEBUGOPT(DebugOmitUnreferencedMethods, 1, 0) ///< Omit unreferenced member
0072                                              ///< functions in type debug info.
0073 
0074 /// Control the Assignment Tracking debug info feature.
0075 BENIGN_ENUM_DEBUGOPT(AssignmentTrackingMode, AssignmentTrackingOpts, 2,
0076                      AssignmentTrackingOpts::Disabled)
0077 
0078 DEBUGOPT(DebugColumnInfo, 1, 0) ///< Whether or not to use column information
0079                                 ///< in debug info.
0080 
0081 DEBUGOPT(DebugTypeExtRefs, 1, 0) ///< Whether or not debug info should contain
0082                                  ///< external references to a PCH or module.
0083 
0084 DEBUGOPT(DebugExplicitImport, 1, 0)  ///< Whether or not debug info should
0085                                      ///< contain explicit imports for
0086                                      ///< anonymous namespaces
0087 
0088 /// Set debug info source file hashing algorithm.
0089 ENUM_DEBUGOPT(DebugSrcHash, DebugSrcHashKind, 2, DSH_MD5)
0090 
0091 DEBUGOPT(SplitDwarfInlining, 1, 1) ///< Whether to include inlining info in the
0092                                    ///< skeleton CU to allow for symbolication
0093                                    ///< of inline stack frames without .dwo files.
0094 DEBUGOPT(DebugFwdTemplateParams, 1, 0) ///< Whether to emit complete
0095                                        ///< template parameter descriptions in
0096                                        ///< forward declarations (versus just
0097                                        ///< including them in the name).
0098 ENUM_DEBUGOPT(DebugSimpleTemplateNames,
0099               llvm::codegenoptions::DebugTemplateNamesKind, 2,
0100               llvm::codegenoptions::DebugTemplateNamesKind::Full)
0101               ///< Whether to emit template parameters in the textual names of
0102               ///< template specializations.
0103                           ///< Implies DebugFwdTemplateNames to allow decorated names to be
0104                           ///< reconstructed when needed.
0105 
0106 /// The kind of generated debug info.
0107 ENUM_DEBUGOPT(DebugInfo, llvm::codegenoptions::DebugInfoKind, 4,
0108               llvm::codegenoptions::NoDebugInfo)
0109 
0110 /// Whether to generate macro debug info.
0111 DEBUGOPT(MacroDebugInfo, 1, 0)
0112 
0113 /// Tune the debug info for this debugger.
0114 ENUM_DEBUGOPT(DebuggerTuning, llvm::DebuggerKind, 3,
0115                 llvm::DebuggerKind::Default)
0116 
0117 /// Dwarf version. Version zero indicates to LLVM that no DWARF should be
0118 /// emitted.
0119 VALUE_DEBUGOPT(DwarfVersion, 3, 0)
0120 
0121 /// Whether we should emit CodeView debug information. It's possible to emit
0122 /// CodeView and DWARF into the same object.
0123 DEBUGOPT(EmitCodeView, 1, 0)
0124 
0125 /// Whether to emit the .debug$H section containing hashes of CodeView types.
0126 DEBUGOPT(CodeViewGHash, 1, 0)
0127 
0128 /// Whether to emit the compiler path and command line into the CodeView debug information.
0129 DEBUGOPT(CodeViewCommandLine, 1, 0)
0130 
0131 /// Whether emit extra debug info for sample pgo profile collection.
0132 DEBUGOPT(DebugInfoForProfiling, 1, 0)
0133 
0134 /// Whether to emit DW_TAG_template_alias for template aliases.
0135 DEBUGOPT(DebugTemplateAlias, 1, 0)
0136 
0137 /// Whether to emit .debug_gnu_pubnames section instead of .debug_pubnames.
0138 DEBUGOPT(DebugNameTable, 2, 0)
0139 
0140 /// Whether to use DWARF base address specifiers in .debug_ranges.
0141 DEBUGOPT(DebugRangesBaseAddress, 1, 0)
0142 
0143 /// Whether to embed source in DWARF debug line section.
0144 DEBUGOPT(EmbedSource, 1, 0)
0145 
0146 #undef DEBUGOPT
0147 #undef ENUM_DEBUGOPT
0148 #undef VALUE_DEBUGOPT
0149 #undef BENIGN_DEBUGOPT
0150 #undef BENIGN_ENUM_DEBUGOPT
0151 #undef BENIGN_VALUE_DEBUGOPT