Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 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
  /// Don't generate debug info.
22
  NoDebugInfo,
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).
28
  LocTrackingOnly,
29
 
30
  /// Emit only debug directives with the line numbers data
31
  DebugDirectivesOnly,
32
 
33
  /// Emit only debug info necessary for generating line number tables
34
  /// (-gline-tables-only).
35
  DebugLineTablesOnly,
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.
41
  DebugInfoConstructor,
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.
47
  LimitedDebugInfo,
48
 
49
  /// Generate complete debug info.
50
  FullDebugInfo,
51
 
52
  /// Generate debug info for types that may be unused in the source
53
  /// (-fno-eliminate-unused-debug-types).
54
  UnusedTypeInfo,
55
};
56
 
57
enum class DebugTemplateNamesKind {
58
  Full,
59
  Simple,
60
  Mangled
61
};
62
 
63
} // end namespace codegenoptions
64
} // end namespace clang
65
 
66
#endif