1 //===--- DebugInfoOptions.h - Debug Info Emission Types ---------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_CLANG_BASIC_DEBUGINFOOPTIONS_H
10 #define LLVM_CLANG_BASIC_DEBUGINFOOPTIONS_H
13 namespace codegenoptions {
15 enum DebugInfoFormat {
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
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.
41 } // end namespace codegenoptions
42 } // end namespace clang