diff --git a/src/gsi/gsi/gsiExpression.cc b/src/gsi/gsi/gsiExpression.cc index 48f7fb39b..fb69da486 100644 --- a/src/gsi/gsi/gsiExpression.cc +++ b/src/gsi/gsi/gsiExpression.cc @@ -684,7 +684,7 @@ struct writer try { // Note: this const_cast is ugly, but it will basically enable "out" parameters // TODO: clean this up. - gsi::do_on_type () (a->type (), &arglist, (arg->get_list ().begin () + narg).operator-> (), *a, heap); + gsi::do_on_type () (a->type (), &arglist, const_cast ((arg->get_list ().begin () + narg).operator-> ()), *a, heap); } catch (tl::Exception &ex) { std::string msg = ex.msg () + tl::sprintf (tl::to_string (tr (" (argument '%s')")), a->spec ()->name ()); throw tl::Exception (msg); diff --git a/src/tl/tl/tlUnitTest.cc b/src/tl/tl/tlUnitTest.cc index 77c1e746a..f6f1ef3d3 100644 --- a/src/tl/tl/tlUnitTest.cc +++ b/src/tl/tl/tlUnitTest.cc @@ -267,6 +267,8 @@ bool TestBase::do_test (bool editable, bool slow) try { execute (this); + } catch (tl::CancelException &) { + throw; } catch (tl::Exception &ex) { raise (std::string ("Exception caught: ") + ex.msg ()); } catch (std::runtime_error &ex) {