Commit 4d89452e authored by Stéphane Adjemian's avatar Stéphane Adjemian

Revert "macroprocessor: interpret arrays passed on the command line as arrays...

Revert "macroprocessor: interpret arrays passed on the command line as arrays instead of strings. closes #1578"

Commit 204d9cd0 fails with gcc 4.9 (I checked that it works flawlessly
with 6.x). The error message is:

MacroDriver.cc:63:24: error: 'class std::basic_string<char>' has no member named 'front'
         if (it->second.front() == '[' && it->second.back() == ']')
                        ^
MacroDriver.cc:63:53: error: 'class std::basic_string<char>' has no member named 'back'
         if (it->second.front() == '[' && it->second.back() == ']')

Ideally we should bump the version of gcc used in the build system, but I will not do that before the
next bug fix release. I suppose it is easier to replace the front() and back() methods.
parent c7a860e6
/*
* Copyright (C) 2008-2018 Dynare Team
* Copyright (C) 2008-2017 Dynare Team
*
* This file is part of Dynare.
*
......@@ -60,11 +60,7 @@ MacroDriver::parse(const string &f, const string &fb, const string &modfiletxt,
}
catch (boost::bad_lexical_cast &)
{
if (it->second.front() == '[' && it->second.back() == ']')
// If the input is an array. Issue #1578
file_with_endl << "@#define " << it->first << " = " << it->second << endl;
else
file_with_endl << "@#define " << it->first << " = \"" << it->second << "\"" << endl;
file_with_endl << "@#define " << it->first << " = \"" << it->second << "\"" << endl;
}
file_with_endl << modfiletxt << endl;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment