diff options
author | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2008-05-08 08:54:20 +0000 |
---|---|---|
committer | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2008-05-08 08:54:20 +0000 |
commit | e8b9f5b8ea60983c4a74cb8b63879616b914b65a (patch) | |
tree | 12fefe9c0746176f5f7dae2f26a3a6c9aa4bbfe8 /lib/CodeGen/ModuleBuilder.cpp | |
parent | 56cf96b3ea9a0027b29e11c47b90719525c13bc6 (diff) |
Added -g command line options to clang for generating source level debug information. This patch currently enables generation of line number debug information (stoppoints) and region begin/end debug information. The new files CGDebugInfo.h and CGDebugInfo.cpp implements the debug info manager class CGDebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50848 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/ModuleBuilder.cpp')
-rw-r--r-- | lib/CodeGen/ModuleBuilder.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/CodeGen/ModuleBuilder.cpp b/lib/CodeGen/ModuleBuilder.cpp index 53ee2e4551..6387c62279 100644 --- a/lib/CodeGen/ModuleBuilder.cpp +++ b/lib/CodeGen/ModuleBuilder.cpp @@ -34,13 +34,15 @@ namespace { const llvm::TargetData *TD; ASTContext *Ctx; const LangOptions &Features; + bool GenerateDebugInfo; protected: llvm::Module *&M; CodeGen::CodeGenModule *Builder; public: CodeGenerator(Diagnostic &diags, const LangOptions &LO, - llvm::Module *&DestModule) - : Diags(diags), Features(LO), M(DestModule) {} + llvm::Module *&DestModule, bool DebugInfoFlag) + : Diags(diags), Features(LO), GenerateDebugInfo(DebugInfoFlag), + M(DestModule) {} ~CodeGenerator() { delete Builder; @@ -52,7 +54,8 @@ namespace { M->setTargetTriple(Ctx->Target.getTargetTriple()); M->setDataLayout(Ctx->Target.getTargetDescription()); TD = new llvm::TargetData(Ctx->Target.getTargetDescription()); - Builder = new CodeGen::CodeGenModule(Context, Features, *M, *TD, Diags); + Builder = new CodeGen::CodeGenModule(Context, Features, *M, *TD, Diags, + GenerateDebugInfo); } virtual void HandleTopLevelDecl(Decl *D) { @@ -103,7 +106,8 @@ namespace { ASTConsumer *clang::CreateLLVMCodeGen(Diagnostic &Diags, const LangOptions &Features, - llvm::Module *&DestModule) { - return new CodeGenerator(Diags, Features, DestModule); + llvm::Module *&DestModule, + bool GenerateDebugInfo) { + return new CodeGenerator(Diags, Features, DestModule, GenerateDebugInfo); } |