summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 3eb385f7..28889159 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -131,6 +131,9 @@ struct ProgramParams
::AST::Crate::Type crate_type = ::AST::Crate::Type::Unknown;
::std::string crate_name;
+ unsigned opt_level = 0;
+ bool emit_debug_info = false;
+
::std::vector<const char*> lib_search_dirs;
::std::vector<const char*> libraries;
@@ -450,6 +453,7 @@ int main(int argc, char *argv[])
for(const char* libdir : params.libraries ) {
trans_opt.libraries.push_back( libdir );
}
+ trans_opt.emit_debug_info = params.emit_debug_info;
// Generate code for non-generic public items (if requested)
switch( crate_type )
@@ -579,6 +583,12 @@ ProgramParams::ProgramParams(int argc, char *argv[])
}
this->outfile = argv[++i];
break;
+ case 'O':
+ this->opt_level = 2;
+ break;
+ case 'g':
+ this->emit_debug_info = true;
+ break;
default:
exit(1);
}