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