From 15cb669039cf26cf018460c8a18901f023bcc7dd Mon Sep 17 00:00:00 2001 From: Sanjiv Gupta Date: Thu, 8 May 2008 08:54:20 +0000 Subject: 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. llvm-svn: 50848 --- clang/lib/CodeGen/ModuleBuilder.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp') diff --git a/clang/lib/CodeGen/ModuleBuilder.cpp b/clang/lib/CodeGen/ModuleBuilder.cpp index 53ee2e4..6387c62 100644 --- a/clang/lib/CodeGen/ModuleBuilder.cpp +++ b/clang/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); } -- cgit v1.1