diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-02-07 13:07:12 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-02-07 13:07:12 +0200 |
commit | ee9c9f3db3eb4b689e565c282345b1f49bba5042 (patch) | |
tree | 2add5cd40b963dcd0f0a6e49a96f18180c1b96e5 /odb/plugin.cxx | |
parent | 00c779a294a86c2e9ce2d2a09216e169dd69a666 (diff) |
Fix to work with GCC 5
Diffstat (limited to 'odb/plugin.cxx')
-rw-r--r-- | odb/plugin.cxx | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/odb/plugin.cxx b/odb/plugin.cxx index ec4aaeb..e32f225 100644 --- a/odb/plugin.cxx +++ b/odb/plugin.cxx @@ -277,10 +277,7 @@ plugin_init (plugin_name_args* plugin_info, plugin_gcc_version*) // { strings argv_str; - vector<char*> argv; - argv_str.push_back (plugin_info->base_name); - argv.push_back (const_cast<char*> (argv_str.back ().c_str ())); for (int i (0); i < plugin_info->argc; ++i) { @@ -319,22 +316,22 @@ plugin_init (plugin_name_args* plugin_info, plugin_gcc_version*) opt += a.key; argv_str.push_back (opt); - argv.push_back (const_cast<char*> (argv_str.back ().c_str ())); if (!v.empty ()) - { argv_str.push_back (v); - argv.push_back (const_cast<char*> (argv_str.back ().c_str ())); - } } + vector<char*> argv; + for (strings::iterator i (argv_str.begin ()); i != argv_str.end (); ++i) + argv.push_back (const_cast<char*> (i->c_str ())); + + int argc (static_cast<int> (argv.size ())); + if (inputs_.empty ()) inputs_.push_back (file_); // Two-phase options parsing, similar to the driver. // - int argc (static_cast<int> (argv.size ())); - cli::argv_file_scanner::option_info oi[3]; oi[0].option = "--options-file"; oi[0].search_func = 0; |