diff --git a/ChangeLog b/ChangeLog index 5f222f87c..1ea5c3265 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,22 @@ 2004-08-09 Alexandre Duret-Lutz + * iface/gspn/common.cc, iface/gspn/common.hh, + src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh, + src/ltlparse/fmterror.cc, src/ltlparse/public.hh, + src/ltlvisit/dotty.cc, src/ltlvisit/dotty.hh, + src/ltlvisit/dump.cc, src/ltlvisit/dump.hh, + src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh, + src/misc/escape.cc, src/misc/escape.hh, src/tgba/bdddict.cc, + src/tgba/bdddict.hh, src/tgba/bddprint.cc, src/tgba/bddprint.hh, + src/tgbaalgos/dotty.cc, src/tgbaalgos/dotty.hh, + src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh, + src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh, + src/tgbaalgos/save.cc, src/tgbaalgos/save.hh, + src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh, + src/tgbaparse/fmterror.cc, src/tgbaparse/public.hh: Include + in headers, and prefer in the body whenever possible. + * src/sanity/style.test, HACKING: Check and document this. + * src/ltlast/allnodes.hh, src/ltlast/atomic_prop.hh, src/ltlast/binop.hh, src/ltlast/constant.hh, src/ltlast/formula.hh, src/ltlast/multop.hh, diff --git a/HACKING b/HACKING index 74bc6e70f..c3fdd16fa 100644 --- a/HACKING +++ b/HACKING @@ -243,3 +243,8 @@ Other style recommandations * Do not systematically initialise local variables with 0 or other meaningless values. This hides errors to valgrind. + + * Avoid , , etc. in headers whenever possible. + Prefer when predeclarations are sufficient, and then + use for instance use just in the corresponding .cc file. + (A plain is needed when using std::cout, std::cerr, etc.) diff --git a/iface/gspn/common.cc b/iface/gspn/common.cc index ae025b201..5a4862967 100644 --- a/iface/gspn/common.cc +++ b/iface/gspn/common.cc @@ -20,7 +20,7 @@ // 02111-1307, USA. #include "common.hh" -#include "ltlvisit/destroy.hh" +#include namespace spot { diff --git a/iface/gspn/common.hh b/iface/gspn/common.hh index 4acd216e2..ea3c582eb 100644 --- a/iface/gspn/common.hh +++ b/iface/gspn/common.hh @@ -23,7 +23,7 @@ # define SPOT_IFACE_GSPN_COMMON_HH # include -# include +# include // Do not include gspnlib.h here, or it will polute the user's // namespace with internal C symbols. diff --git a/src/ltlast/atomic_prop.cc b/src/ltlast/atomic_prop.cc index 61fb0fa06..d37793f1d 100644 --- a/src/ltlast/atomic_prop.cc +++ b/src/ltlast/atomic_prop.cc @@ -22,6 +22,7 @@ #include "atomic_prop.hh" #include "visitor.hh" #include +#include namespace spot { diff --git a/src/ltlast/atomic_prop.hh b/src/ltlast/atomic_prop.hh index a54117ffb..5cc945353 100644 --- a/src/ltlast/atomic_prop.hh +++ b/src/ltlast/atomic_prop.hh @@ -25,7 +25,7 @@ # define SPOT_LTLAST_ATOMIC_PROP_HH #include -#include +#include #include #include "refformula.hh" #include "ltlenv/environment.hh" diff --git a/src/ltlparse/fmterror.cc b/src/ltlparse/fmterror.cc index 76f71fa66..bf4b396d8 100644 --- a/src/ltlparse/fmterror.cc +++ b/src/ltlparse/fmterror.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -20,13 +20,14 @@ // 02111-1307, USA. #include "public.hh" +#include -namespace spot +namespace spot { namespace ltl { - bool + bool format_parse_errors(std::ostream& os, const std::string& ltl_string, parse_error_list& error_list) diff --git a/src/ltlparse/public.hh b/src/ltlparse/public.hh index 587ffa8a5..5186bf0f1 100644 --- a/src/ltlparse/public.hh +++ b/src/ltlparse/public.hh @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -28,7 +28,7 @@ # include # include # include -# include +# include namespace spot { @@ -39,6 +39,7 @@ namespace spot /// \brief A list of parser diagnostics, as filled by parse. typedef std::list parse_error_list; + /// \brief Build a formula from an LTL string. /// \param ltl_string The string to parse. /// \param error_list A list that will be filled with @@ -59,7 +60,6 @@ namespace spot environment& env = default_environment::instance(), bool debug = false); - /// \brief Format diagnostics produced by spot::ltl::parse. /// \param os Where diagnostics should be output. /// \param ltl_string The string that were parsed. diff --git a/src/ltlvisit/dotty.cc b/src/ltlvisit/dotty.cc index 0509017ed..c16e831d3 100644 --- a/src/ltlvisit/dotty.cc +++ b/src/ltlvisit/dotty.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -23,6 +23,7 @@ #include "dotty.hh" #include "ltlast/visitor.hh" #include "ltlast/allnodes.hh" +#include namespace spot { diff --git a/src/ltlvisit/dotty.hh b/src/ltlvisit/dotty.hh index 9d22dbf6b..693269d05 100644 --- a/src/ltlvisit/dotty.hh +++ b/src/ltlvisit/dotty.hh @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -23,7 +23,7 @@ # define SPOT_LTLVISIT_DOTTY_HH #include -#include +#include namespace spot { diff --git a/src/ltlvisit/dump.cc b/src/ltlvisit/dump.cc index f55388b16..452bd5b5a 100644 --- a/src/ltlvisit/dump.cc +++ b/src/ltlvisit/dump.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -22,7 +22,7 @@ #include "dump.hh" #include "ltlast/visitor.hh" #include "ltlast/allnodes.hh" - +#include namespace spot { @@ -32,7 +32,7 @@ namespace spot class dump_visitor : public const_visitor { public: - dump_visitor(std::ostream& os = std::cout) + dump_visitor(std::ostream& os) : os_(os) { } @@ -80,7 +80,7 @@ namespace spot mo->nth(0)->accept(*this); for (unsigned n = 1; n < max; ++n) { - std::cout << ", "; + os_ << ", "; mo->nth(n)->accept(*this); } os_ << ")"; diff --git a/src/ltlvisit/dump.hh b/src/ltlvisit/dump.hh index 922b8cb39..11b2aba8e 100644 --- a/src/ltlvisit/dump.hh +++ b/src/ltlvisit/dump.hh @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -23,7 +23,7 @@ # define SPOT_LTLVISIT_DUMP_HH #include "ltlast/formula.hh" -#include +#include namespace spot { diff --git a/src/ltlvisit/tostring.cc b/src/ltlvisit/tostring.cc index 876f1290f..d7dfaafc9 100644 --- a/src/ltlvisit/tostring.cc +++ b/src/ltlvisit/tostring.cc @@ -22,6 +22,7 @@ #include #include #include +#include #include "tostring.hh" #include "ltlast/visitor.hh" #include "ltlast/allnodes.hh" @@ -56,7 +57,7 @@ namespace spot class to_string_visitor : public const_visitor { public: - to_string_visitor(std::ostream& os = std::cout) + to_string_visitor(std::ostream& os) : os_(os), top_level_(true) { } @@ -203,7 +204,7 @@ namespace spot class to_spin_string_visitor : public to_string_visitor { public: - to_spin_string_visitor(std::ostream& os = std::cout) + to_spin_string_visitor(std::ostream& os) : to_string_visitor(os) { } diff --git a/src/ltlvisit/tostring.hh b/src/ltlvisit/tostring.hh index 3b6558c20..8f6ff8e89 100644 --- a/src/ltlvisit/tostring.hh +++ b/src/ltlvisit/tostring.hh @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -23,7 +23,7 @@ # define SPOT_LTLVISIT_TOSTRING_HH #include -#include +#include namespace spot { diff --git a/src/misc/escape.cc b/src/misc/escape.cc index 6b4b4ded0..a4b1a246c 100644 --- a/src/misc/escape.cc +++ b/src/misc/escape.cc @@ -20,6 +20,7 @@ // 02111-1307, USA. #include +#include #include "escape.hh" namespace spot diff --git a/src/misc/escape.hh b/src/misc/escape.hh index 4ca2bd31a..f5eeae24e 100644 --- a/src/misc/escape.hh +++ b/src/misc/escape.hh @@ -22,7 +22,7 @@ #ifndef SPOT_MISC_ESCAPE_HH # define SPOT_MISC_ESCAPE_HH -# include +# include # include namespace spot diff --git a/src/sanity/style.test b/src/sanity/style.test index e1d41cbbe..f256d6179 100755 --- a/src/sanity/style.test +++ b/src/sanity/style.test @@ -1,3 +1,4 @@ + #! /bin/sh # Ensure consistent style by catching common improper constructs. @@ -113,9 +114,21 @@ for dir in "${INCDIR-..}" "${INCDIR-..}"/../iface; do grep -e 'return[ ]*[(][^(]*[)];' $tmp && diag 'No useless parentheses after return.' - grep 'NULL' $tmp && + grep 'NULL' $tmp && diag 'Use 0 instead of NULL. NULL is not portable.' + case $file in + *.hh | *.hxx) + if grep -e '(cout|cerr|clog)' $tmp >/dev/null; then + : + else + grep '#.*include.*' $tmp && + diag 'Avoid in headers, better use .' + fi + ;; + esac + + $fail && echo "$file" >>failures done done diff --git a/src/tgba/bdddict.cc b/src/tgba/bdddict.cc index a4a56969c..7cfef89fd 100644 --- a/src/tgba/bdddict.cc +++ b/src/tgba/bdddict.cc @@ -19,10 +19,11 @@ // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. +#include +#include #include #include #include -#include #include "bdddict.hh" namespace spot diff --git a/src/tgba/bdddict.hh b/src/tgba/bdddict.hh index 691b7eb50..26332a9de 100644 --- a/src/tgba/bdddict.hh +++ b/src/tgba/bdddict.hh @@ -25,7 +25,7 @@ #include "misc/hash.hh" #include #include -#include +#include #include #include "ltlast/formula.hh" #include "misc/bddalloc.hh" diff --git a/src/tgba/bddprint.cc b/src/tgba/bddprint.cc index ddf89f9e5..4be59eb21 100644 --- a/src/tgba/bddprint.cc +++ b/src/tgba/bddprint.cc @@ -21,6 +21,7 @@ #include #include +#include #include "bddprint.hh" #include "ltlvisit/tostring.hh" #include "formula2bdd.hh" diff --git a/src/tgba/bddprint.hh b/src/tgba/bddprint.hh index e19468daa..e8fcc3cc4 100644 --- a/src/tgba/bddprint.hh +++ b/src/tgba/bddprint.hh @@ -23,7 +23,7 @@ # define SPOT_TGBA_BDDPRINT_HH #include -#include +#include #include "bdddict.hh" #include diff --git a/src/tgbaalgos/dotty.cc b/src/tgbaalgos/dotty.cc index 2e8e836a2..8b245d802 100644 --- a/src/tgbaalgos/dotty.cc +++ b/src/tgbaalgos/dotty.cc @@ -19,6 +19,7 @@ // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. +#include #include "tgba/tgba.hh" #include "dotty.hh" #include "tgba/bddprint.hh" diff --git a/src/tgbaalgos/dotty.hh b/src/tgbaalgos/dotty.hh index a818dc8b7..f5143a32c 100644 --- a/src/tgbaalgos/dotty.hh +++ b/src/tgbaalgos/dotty.hh @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -23,7 +23,7 @@ # define SPOT_TGBAALGOS_DOTTY_HH #include "tgba/tgba.hh" -#include +#include namespace spot { diff --git a/src/tgbaalgos/gtec/status.cc b/src/tgbaalgos/gtec/status.cc index 0e0ae8f28..37d3f5828 100644 --- a/src/tgbaalgos/gtec/status.cc +++ b/src/tgbaalgos/gtec/status.cc @@ -19,6 +19,7 @@ // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. +#include #include "status.hh" namespace spot diff --git a/src/tgbaalgos/gtec/status.hh b/src/tgbaalgos/gtec/status.hh index b0d416548..067ee5460 100644 --- a/src/tgbaalgos/gtec/status.hh +++ b/src/tgbaalgos/gtec/status.hh @@ -25,7 +25,7 @@ #include "sccstack.hh" #include "nsheap.hh" #include "tgba/tgba.hh" -#include +#include namespace spot { diff --git a/src/tgbaalgos/lbtt.cc b/src/tgbaalgos/lbtt.cc index b6b015289..e254e6d26 100644 --- a/src/tgbaalgos/lbtt.cc +++ b/src/tgbaalgos/lbtt.cc @@ -22,8 +22,8 @@ #include "lbtt.hh" #include #include +#include #include -#include #include "tgba/bddprint.hh" #include "reachiter.hh" #include "misc/bddlt.hh" diff --git a/src/tgbaalgos/lbtt.hh b/src/tgbaalgos/lbtt.hh index 4da5c2901..5c6527368 100644 --- a/src/tgbaalgos/lbtt.hh +++ b/src/tgbaalgos/lbtt.hh @@ -23,7 +23,7 @@ # define SPOT_TGBAALGOS_LBTT_HH #include "tgba/tgba.hh" -#include +#include namespace spot { diff --git a/src/tgbaalgos/neverclaim.cc b/src/tgbaalgos/neverclaim.cc index 54a2cf3c5..74e29802e 100644 --- a/src/tgbaalgos/neverclaim.cc +++ b/src/tgbaalgos/neverclaim.cc @@ -19,6 +19,7 @@ // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. +#include #include #include "bdd.h" #include "tgba/tgbatba.hh" diff --git a/src/tgbaalgos/neverclaim.hh b/src/tgbaalgos/neverclaim.hh index ba672603e..c9aa6ef73 100644 --- a/src/tgbaalgos/neverclaim.hh +++ b/src/tgbaalgos/neverclaim.hh @@ -22,7 +22,7 @@ #ifndef SPOT_TGBAALGOS_NEVERCLAIM_HH # define SPOT_TGBAALGOS_NEVERCLAIM_HH -#include +#include #include "ltlast/formula.hh" #include "tgba/tgbatba.hh" diff --git a/src/tgbaalgos/save.cc b/src/tgbaalgos/save.cc index 0e96806b7..cd61c797a 100644 --- a/src/tgbaalgos/save.cc +++ b/src/tgbaalgos/save.cc @@ -19,7 +19,7 @@ // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. -#include "tgba/tgba.hh" +#include #include "save.hh" #include "tgba/bddprint.hh" #include "ltlvisit/tostring.hh" diff --git a/src/tgbaalgos/save.hh b/src/tgbaalgos/save.hh index f79d750ba..88483bec2 100644 --- a/src/tgbaalgos/save.hh +++ b/src/tgbaalgos/save.hh @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -23,7 +23,7 @@ # define SPOT_TGBAALGOS_SAVE_HH #include "tgba/tgba.hh" -#include +#include namespace spot { diff --git a/src/tgbaparse/fmterror.cc b/src/tgbaparse/fmterror.cc index 4c36294bb..3d7690ae3 100644 --- a/src/tgbaparse/fmterror.cc +++ b/src/tgbaparse/fmterror.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -19,6 +19,7 @@ // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. +#include #include "public.hh" namespace spot diff --git a/src/tgbaparse/public.hh b/src/tgbaparse/public.hh index a5d87e2cc..eb2379118 100644 --- a/src/tgbaparse/public.hh +++ b/src/tgbaparse/public.hh @@ -1,4 +1,4 @@ -// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6), +// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // @@ -28,7 +28,7 @@ # include # include # include -# include +# include namespace spot {