From ac6b042e2ca41a35c0e05d01c0612dc7742681b6 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Fri, 14 Aug 2015 15:34:28 +0200 Subject: [PATCH] remove a GCC 4.6 workaround * src/twa/twagraph.hh (namer): Use a template alias instead of a trait. * src/twa/twagraph.cc, src/parseaut/parseaut.yy, src/twaalgos/ltl2tgba_fm.cc: Adjust. --- src/parseaut/parseaut.yy | 2 +- src/twa/twagraph.cc | 4 ++-- src/twa/twagraph.hh | 16 ++++++---------- src/twaalgos/ltl2tgba_fm.cc | 2 +- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/parseaut/parseaut.yy b/src/parseaut/parseaut.yy index 8cb9dc938..9427509af 100644 --- a/src/parseaut/parseaut.yy +++ b/src/parseaut/parseaut.yy @@ -49,7 +49,7 @@ typedef std::map formula_cache; typedef std::pair pair; - typedef typename spot::twa_graph::namer::type named_tgba_t; + typedef spot::twa_graph::namer named_tgba_t; // Note: because this parser is meant to be used on a stream of // automata, it tries hard to recover from errors, so that we get a diff --git a/src/twa/twagraph.cc b/src/twa/twagraph.cc index b1c8d3697..52ddbe9d3 100644 --- a/src/twa/twagraph.cc +++ b/src/twa/twagraph.cc @@ -24,8 +24,8 @@ namespace spot { void - twa_graph::release_formula_namer(typename namer::type* - namer, bool keep_names) + twa_graph::release_formula_namer(namer* namer, + bool keep_names) { if (keep_names) { diff --git a/src/twa/twagraph.hh b/src/twa/twagraph.hh index 68aa2c02c..51d401104 100644 --- a/src/twa/twagraph.hh +++ b/src/twa/twagraph.hh @@ -204,34 +204,30 @@ namespace spot last_support_conditions_input_ = 0; } - // FIXME: Once we ditch GCC 4.6, we can using a template aliases - // (supported from GCC 4.7 onward) instead of this. +#ifndef SWIG template , typename Name_Equal = std::equal_to> - struct namer - { - typedef named_graph type; - }; + using namer = named_graph; template , typename Name_Equal = std::equal_to> - typename namer::type* + namer* create_namer() { return new named_graph(g_); } - typename namer::type* + namer* create_formula_namer() { return create_namer(); } void - release_formula_namer(typename namer::type* namer, - bool keep_names); + release_formula_namer(namer* namer, bool keep_names); +#endif graph_t& get_graph() { diff --git a/src/twaalgos/ltl2tgba_fm.cc b/src/twaalgos/ltl2tgba_fm.cc index 8c13b2787..73ebc0c5a 100644 --- a/src/twaalgos/ltl2tgba_fm.cc +++ b/src/twaalgos/ltl2tgba_fm.cc @@ -110,7 +110,7 @@ namespace spot class ratexp_to_dfa { - typedef typename twa_graph::namer::type namer; + typedef twa_graph::namer namer; public: ratexp_to_dfa(translate_dict& dict); std::tuple