From 103f914a7198e446dd7ec213f87e9db373b5fa55 Mon Sep 17 00:00:00 2001 From: Cedric Delamarre Date: Fri, 2 Dec 2016 11:36:18 +0100 Subject: [PATCH] [bug_9571] concatenation fixed * test_run core bug_9571 Change-Id: I74f423224f0e368501f41578803bcd57e8b53824 --- scilab/modules/ast/src/cpp/ast/run_MatrixExp.hpp | 28 ++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/scilab/modules/ast/src/cpp/ast/run_MatrixExp.hpp b/scilab/modules/ast/src/cpp/ast/run_MatrixExp.hpp index b968551..91cc64b 100644 --- a/scilab/modules/ast/src/cpp/ast/run_MatrixExp.hpp +++ b/scilab/modules/ast/src/cpp/ast/run_MatrixExp.hpp @@ -131,10 +131,30 @@ void RunVisitorT::visitprivate(const MatrixExp &e) if (pIT->isGenericType() == false) { - pIT->killMe(); - std::wostringstream os; - os << _W("unable to concatenate\n"); - throw ast::InternalError(os.str(), 999, (*col)->getLocation()); + if (poRow == NULL) + { + //first loop + poRow = pIT; + } + else + { + try + { + poRow = callOverloadMatrixExp(L"c", poRow, pIT); + } + catch (const InternalError& error) + { + if (poResult) + { + poResult->killMe(); + } + + pIT->killMe(); + throw error; + } + } + + continue; } types::GenericType* pGT = pIT->getAs(); -- 1.7.9.5