diff --git a/bin/ltlcross.cc b/bin/ltlcross.cc index 06010a214..9569694e6 100644 --- a/bin/ltlcross.cc +++ b/bin/ltlcross.cc @@ -1403,7 +1403,7 @@ namespace sm = new spot::scc_info(p, spot::scc_info_options::TRACK_STATES); } - catch (std::bad_alloc&) + catch (const std::bad_alloc&) { std::cerr << ("warning: not enough memory to build " "product of P") << i << " with state-space"; @@ -1440,7 +1440,7 @@ namespace spot::scc_info(p, spot::scc_info_options::TRACK_STATES); } - catch (std::bad_alloc&) + catch (const std::bad_alloc&) { std::cerr << ("warning: not enough memory to build " "product of N") diff --git a/spot/parseaut/parseaut.yy b/spot/parseaut/parseaut.yy index 9de0b54e3..b138443a7 100644 --- a/spot/parseaut/parseaut.yy +++ b/spot/parseaut/parseaut.yy @@ -1,6 +1,6 @@ /* -*- coding: utf-8 -*- -** Copyright (C) 2014, 2015, 2016, 2017 Laboratoire de Recherche et -** Développement de l'Epita (LRDE). +** Copyright (C) 2014-2018 Laboratoire de Recherche et Développement +** de l'Epita (LRDE). ** ** This file is part of Spot, a model checking library. ** @@ -2576,7 +2576,7 @@ namespace spot automaton_stream_parser p(filename, localopts); pa = p.parse(dict, env); } - catch (std::runtime_error& e) + catch (const std::runtime_error& e) { if (opts.raise_errors) throw; diff --git a/tests/ltsmin/modelcheck.cc b/tests/ltsmin/modelcheck.cc index 8c3770c0a..960828a4f 100644 --- a/tests/ltsmin/modelcheck.cc +++ b/tests/ltsmin/modelcheck.cc @@ -222,7 +222,7 @@ checked_main(int argc, char **argv) model = spot::ltsmin_model::load(argv[1]).kripke(&ap, dict, deadf, compress_states); } - catch (std::runtime_error& e) + catch (const std::runtime_error& e) { std::cerr << e.what() << '\n'; } diff --git a/tests/sanity/style.test b/tests/sanity/style.test index 131d049bb..a3bac86cf 100755 --- a/tests/sanity/style.test +++ b/tests/sanity/style.test @@ -287,6 +287,10 @@ for dir in "$TOP/spot" "$TOP/bin" "$TOP/tests"; do diag 'No "if (x)" required before "delete x;".' fi + # we want catch (const reftype&) or catch (...) + $GREP 'catch *([^.]' $tmp | $GREP -v 'const.*\&' && + diag 'Always capture exceptions by const reference.' + case $file in *.hh | *.hxx) if e$GREP '(<<|>>)' $tmp >/dev/null; then