1 //===--- DebugInfoOptions.h - Debug Info Emission Types ---------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLVM_CLANG_BASIC_DEBUGINFOOPTIONS_H 11 #define LLVM_CLANG_BASIC_DEBUGINFOOPTIONS_H 12 13 namespace clang { 14 namespace codegenoptions { 15 16 enum DebugInfoFormat { 17 DIF_DWARF, 18 DIF_CodeView, 19 }; 20 21 enum DebugInfoKind { 22 NoDebugInfo, /// Don't generate debug info. 23 LocTrackingOnly, /// Emit location information but do not generate 24 /// debug info in the output. This is useful in 25 /// cases where the backend wants to track source 26 /// locations for instructions without actually 27 /// emitting debug info for them (e.g., when -Rpass 28 /// is used). 29 DebugDirectivesOnly, /// Emit only debug directives with the line numbers data 30 DebugLineTablesOnly, /// Emit only debug info necessary for generating 31 /// line number tables (-gline-tables-only). 32 LimitedDebugInfo, /// Limit generated debug info to reduce size 33 /// (-fno-standalone-debug). This emits 34 /// forward decls for types that could be 35 /// replaced with forward decls in the source 36 /// code. For dynamic C++ classes type info 37 /// is only emitted into the module that 38 /// contains the classe's vtable. 39 FullDebugInfo /// Generate complete debug info. 40 }; 41 42 } // end namespace codegenoptions 43 } // end namespace clang 44 45 #endif 46