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 | |
15 | enum DebugInfoFormat { |
16 | DIF_DWARF, |
17 | DIF_CodeView, |
18 | }; |
19 | |
20 | enum DebugInfoKind { |
21 | NoDebugInfo, /// Don't generate debug info. |
22 | LocTrackingOnly, /// Emit location information but do not generate |
23 | /// debug info in the output. This is useful in |
24 | /// cases where the backend wants to track source |
25 | /// locations for instructions without actually |
26 | /// emitting debug info for them (e.g., when -Rpass |
27 | /// is used). |
28 | DebugDirectivesOnly, /// Emit only debug directives with the line numbers data |
29 | DebugLineTablesOnly, /// Emit only debug info necessary for generating |
30 | /// line number tables (-gline-tables-only). |
31 | LimitedDebugInfo, /// Limit generated debug info to reduce size |
32 | /// (-fno-standalone-debug). This emits |
33 | /// forward decls for types that could be |
34 | /// replaced with forward decls in the source |
35 | /// code. For dynamic C++ classes type info |
36 | /// is only emitted into the module that |
37 | /// contains the classe's vtable. |
38 | FullDebugInfo /// Generate complete debug info. |
39 | }; |
40 | |
41 | } // end namespace codegenoptions |
42 | } // end namespace clang |
43 | |
44 | #endif |
45 |