From 38708d955aca24b35bea7cb64d2cabcc55901c9b Mon Sep 17 00:00:00 2001 From: Houtan Bastani <houtan@dynare.org> Date: Tue, 23 Jan 2018 16:31:33 +0100 Subject: [PATCH] macroprocessor: interpret arrays passed on the command line as arrays instead of strings. closes #1578 (cherry picked from commit 204d9cd05fef9ac6fda8530536578c05fab66366) --- preprocessor/macro/MacroDriver.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/preprocessor/macro/MacroDriver.cc b/preprocessor/macro/MacroDriver.cc index 71d53b9cba..01558b7252 100644 --- a/preprocessor/macro/MacroDriver.cc +++ b/preprocessor/macro/MacroDriver.cc @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2017 Dynare Team + * Copyright (C) 2008-2018 Dynare Team * * This file is part of Dynare. * @@ -64,7 +64,11 @@ MacroDriver::parse(const string &f, ostream &out, bool debug, bool no_line_macro } catch (boost::bad_lexical_cast &) { - file_with_endl << "@#define " << it->first << " = \"" << it->second << "\"" << endl; + 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 << in.rdbuf() << endl; -- GitLab