summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-02-26 18:15:35 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-02-26 18:15:35 +0800
commit0c7faa5fd118366c4b272e036e95625ebccf67ea (patch)
treeebf8d025c5ccc3107411b1086aae6a79c53ead77 /src/main.cpp
parentee773edacfeba650931c604e266cf0862dbc2bfe (diff)
downloadmrust-0c7faa5fd118366c4b272e036e95625ebccf67ea.tar.gz
Main - Add support for -g option
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);
}