Merge 6.0 into master
[scilab.git] / scilab / modules / ast / src / cpp / ast / visitor_common.cpp
index c1e73db..d8390a1 100644 (file)
@@ -1752,7 +1752,7 @@ types::InternalType* evaluateFields(const ast::Exp* _pExp, std::list<ExpHistory*
 
         return pITMain;
     }
-    catch (const ast::InternalError error)
+    catch (const ast::InternalError& error)
     {
         if (bPutInCtx)
         {
@@ -1866,7 +1866,6 @@ types::InternalType* insertionCall(const ast::Exp& e, types::typed_list* _pArgs,
         if ((*_pArgs)[0]->isString())
         {
             types::String *pS = (*_pArgs)[0]->getAs<types::String>();
-            types::Struct* pStr = new types::Struct(1, 1);
 
             if (_pArgs->size() != 1 || pS->isScalar() == false)
             {
@@ -1880,6 +1879,7 @@ types::InternalType* insertionCall(const ast::Exp& e, types::typed_list* _pArgs,
                 throw ast::InternalError(os.str(), 999, e.getLocation());
             }
 
+            types::Struct* pStr = new types::Struct(1, 1);
             pStr->addField(pS->get(0));
             pStr->get(0)->set(pS->get(0), _pInsert);
             pOut = pStr;