aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorSanjiv Gupta <sanjiv.gupta@microchip.com>2008-05-08 08:54:20 +0000
committerSanjiv Gupta <sanjiv.gupta@microchip.com>2008-05-08 08:54:20 +0000
commite8b9f5b8ea60983c4a74cb8b63879616b914b65a (patch)
tree12fefe9c0746176f5f7dae2f26a3a6c9aa4bbfe8 /lib/CodeGen/ModuleBuilder.cpp
parent56cf96b3ea9a0027b29e11c47b90719525c13bc6 (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.cpp14
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);
}