diff --git a/src/DynareMain.cc b/src/DynareMain.cc index f9c35528..99b593d6 100644 --- a/src/DynareMain.cc +++ b/src/DynareMain.cc @@ -53,7 +53,7 @@ void main2(stringstream &in, const string &basename, bool debug, bool clear_all, const boost::filesystem::path &dynareroot, bool onlymodel); void main1(const string &filename, const string &basename, istream &modfile, bool debug, bool save_macro, string &save_macro_file, - bool no_line_macro, bool no_empty_line_macro, const map &defines, const vector &path, stringstream ¯o_output); + bool no_line_macro, bool no_empty_line_macro, const vector> &defines, const vector &path, stringstream ¯o_output); void usage() @@ -151,7 +151,7 @@ main(int argc, char **argv) bool minimal_workspace = false; bool compute_xrefs = false; bool transform_unary_ops = false; - map defines; + vector> defines; vector path; FileOutputType output_mode{FileOutputType::none}; JsonOutputPointType json{JsonOutputPointType::nojson}; @@ -269,9 +269,9 @@ main(int argc, char **argv) auto equal_index = s.find('='); if (equal_index != string::npos) - defines[s.substr(2, equal_index-2)] = s.substr(equal_index+1); + defines.emplace_back(s.substr(2, equal_index-2), s.substr(equal_index+1)); else - defines[s.substr(2)] = "1"; + defines.emplace_back(s.substr(2), "1"); } else if (s.substr(0, 2) == "-I") { diff --git a/src/DynareMain1.cc b/src/DynareMain1.cc index 1ff3c3fc..41815a8a 100644 --- a/src/DynareMain1.cc +++ b/src/DynareMain1.cc @@ -28,7 +28,7 @@ bool compareNewline (int i, int j) { void main1(const string &filename, const string &basename, istream &modfile, bool debug, bool save_macro, string &save_macro_file, - bool no_line_macro, bool no_empty_line_macro, const map &defines, const vector &path, stringstream ¯o_output) + bool no_line_macro, bool no_empty_line_macro, const vector> &defines, const vector &path, stringstream ¯o_output) { // Do macro processing MacroDriver m; diff --git a/src/macro/MacroDriver.cc b/src/macro/MacroDriver.cc index ef4e45be..a296d6d2 100644 --- a/src/macro/MacroDriver.cc +++ b/src/macro/MacroDriver.cc @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2018 Dynare Team + * Copyright (C) 2008-2019 Dynare Team * * This file is part of Dynare. * @@ -28,7 +28,7 @@ void MacroDriver::parse(const string &file_arg, const string &basename_arg, istream &modfile, - ostream &out, bool debug, bool no_line_macro_arg, map defines, + ostream &out, bool debug, bool no_line_macro_arg, const vector> &defines, vector path) { file = file_arg; diff --git a/src/macro/MacroDriver.hh b/src/macro/MacroDriver.hh index d1e3657b..43dbc974 100644 --- a/src/macro/MacroDriver.hh +++ b/src/macro/MacroDriver.hh @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2018 Dynare Team + * Copyright (C) 2008-2019 Dynare Team * * This file is part of Dynare. * @@ -227,7 +227,7 @@ public: //! Starts parsing a file, returns output in out /*! \param no_line_macro should we omit the @#line statements ? */ void parse(const string &file_arg, const string &basename_arg, istream &modfile, ostream &out, bool debug, bool no_line_macro_arg, - map defines, vector path); + const vector> &defines, vector path); //! Name of main file being parsed string file;