clang  14.0.0git
DebugInfoOptions.h
Go to the documentation of this file.
1 //===--- DebugInfoOptions.h - Debug Info Emission Types ---------*- 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 LLVM_CLANG_BASIC_DEBUGINFOOPTIONS_H
10 #define LLVM_CLANG_BASIC_DEBUGINFOOPTIONS_H
11 
12 namespace clang {
13 namespace codegenoptions {
14 
18 };
19 
21  /// Don't generate debug info.
23 
24  /// Emit location information but do not generate debug info in the output.
25  /// This is useful in cases where the backend wants to track source
26  /// locations for instructions without actually emitting debug info for them
27  /// (e.g., when -Rpass is used).
29 
30  /// Emit only debug directives with the line numbers data
32 
33  /// Emit only debug info necessary for generating line number tables
34  /// (-gline-tables-only).
36 
37  /// Limit generated debug info for classes to reduce size. This emits class
38  /// type info only where the constructor is emitted, if it is a class that
39  /// has a constructor.
40  /// FIXME: Consider combining this with LimitedDebugInfo.
42 
43  /// Limit generated debug info to reduce size (-fno-standalone-debug). This
44  /// emits forward decls for types that could be replaced with forward decls in
45  /// the source code. For dynamic C++ classes type info is only emitted into
46  /// the module that contains the classe's vtable.
48 
49  /// Generate complete debug info.
51 
52  /// Generate debug info for types that may be unused in the source
53  /// (-fno-eliminate-unused-debug-types).
55 };
56 
58  Full,
59  Simple,
60  Mangled
61 };
62 
63 } // end namespace codegenoptions
64 } // end namespace clang
65 
66 #endif
clang::codegenoptions::DIF_CodeView
@ DIF_CodeView
Definition: DebugInfoOptions.h:17
clang::codegenoptions::DebugTemplateNamesKind::Simple
@ Simple
clang::codegenoptions::UnusedTypeInfo
@ UnusedTypeInfo
Generate debug info for types that may be unused in the source (-fno-eliminate-unused-debug-types).
Definition: DebugInfoOptions.h:54
clang::codegenoptions::NoDebugInfo
@ NoDebugInfo
Don't generate debug info.
Definition: DebugInfoOptions.h:22
clang::codegenoptions::DebugTemplateNamesKind::Mangled
@ Mangled
clang::codegenoptions::DebugInfoFormat
DebugInfoFormat
Definition: DebugInfoOptions.h:15
clang::codegenoptions::DebugInfoConstructor
@ DebugInfoConstructor
Limit generated debug info for classes to reduce size.
Definition: DebugInfoOptions.h:41
clang::codegenoptions::DebugDirectivesOnly
@ DebugDirectivesOnly
Emit only debug directives with the line numbers data.
Definition: DebugInfoOptions.h:31
clang::codegenoptions::LocTrackingOnly
@ LocTrackingOnly
Emit location information but do not generate debug info in the output.
Definition: DebugInfoOptions.h:28
clang::codegenoptions::DebugTemplateNamesKind
DebugTemplateNamesKind
Definition: DebugInfoOptions.h:57
clang::codegenoptions::DebugTemplateNamesKind::Full
@ Full
clang::codegenoptions::DIF_DWARF
@ DIF_DWARF
Definition: DebugInfoOptions.h:16
clang::codegenoptions::FullDebugInfo
@ FullDebugInfo
Generate complete debug info.
Definition: DebugInfoOptions.h:50
clang::codegenoptions::DebugLineTablesOnly
@ DebugLineTablesOnly
Emit only debug info necessary for generating line number tables (-gline-tables-only).
Definition: DebugInfoOptions.h:35
clang
Definition: CalledOnceCheck.h:17
clang::codegenoptions::DebugInfoKind
DebugInfoKind
Definition: DebugInfoOptions.h:20
clang::codegenoptions::LimitedDebugInfo
@ LimitedDebugInfo
Limit generated debug info to reduce size (-fno-standalone-debug).
Definition: DebugInfoOptions.h:47