include config.h in all *.cc files
This helps working around missing C functions like strcasecmp that do not exist everywhere (e.g. on Cygwin), and for which lib/ supplies a replacement. Unfortunately we do not have such build in our current continuous integration suite, so we cannot easily detect files where such config.h inclusion would be useful. Therefore this patch simply makes it mandatory to include config.h in *.cc files. Including this in public *.hh file is currently forbidden. * spot/gen/automata.cc, spot/gen/formulas.cc, spot/kripke/fairkripke.cc, spot/kripke/kripke.cc, spot/ltsmin/ltsmin.cc, spot/misc/game.cc, spot/parseaut/fmterror.cc, spot/parsetl/fmterror.cc, spot/parsetl/parsetl.yy, spot/priv/bddalloc.cc, spot/priv/freelist.cc, spot/priv/satcommon.cc, spot/priv/trim.cc, spot/priv/weight.cc, spot/ta/ta.cc, spot/ta/taexplicit.cc, spot/ta/taproduct.cc, spot/ta/tgtaexplicit.cc, spot/ta/tgtaproduct.cc, spot/taalgos/dot.cc, spot/taalgos/emptinessta.cc, spot/taalgos/minimize.cc, spot/taalgos/reachiter.cc, spot/taalgos/statessetbuilder.cc, spot/taalgos/stats.cc, spot/taalgos/tgba2ta.cc, spot/tl/apcollect.cc, spot/tl/contain.cc, spot/tl/declenv.cc, spot/tl/defaultenv.cc, spot/tl/dot.cc, spot/tl/exclusive.cc, spot/tl/hierarchy.cc, spot/tl/length.cc, spot/tl/ltlf.cc, spot/tl/mark.cc, spot/tl/mutation.cc, spot/tl/nenoform.cc, spot/tl/print.cc, spot/tl/randomltl.cc, spot/tl/relabel.cc, spot/tl/remove_x.cc, spot/tl/simplify.cc, spot/tl/snf.cc, spot/tl/unabbrev.cc, spot/twa/acc.cc, spot/twa/bdddict.cc, spot/twa/bddprint.cc, spot/twa/formula2bdd.cc, spot/twa/taatgba.cc, spot/twa/twa.cc, spot/twa/twagraph.cc, spot/twa/twaproduct.cc, spot/twaalgos/aiger.cc, spot/twaalgos/alternation.cc, spot/twaalgos/are_isomorphic.cc, spot/twaalgos/bfssteps.cc, spot/twaalgos/canonicalize.cc, spot/twaalgos/cleanacc.cc, spot/twaalgos/cobuchi.cc, spot/twaalgos/complement.cc, spot/twaalgos/complete.cc, spot/twaalgos/compsusp.cc, spot/twaalgos/couvreurnew.cc, spot/twaalgos/cycles.cc, spot/twaalgos/degen.cc, spot/twaalgos/determinize.cc, spot/twaalgos/dot.cc, spot/twaalgos/dtbasat.cc, spot/twaalgos/dtwasat.cc, spot/twaalgos/dualize.cc, spot/twaalgos/emptiness.cc, spot/twaalgos/gtec/ce.cc, spot/twaalgos/gtec/gtec.cc, spot/twaalgos/gtec/sccstack.cc, spot/twaalgos/gtec/status.cc, spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc, spot/twaalgos/iscolored.cc, spot/twaalgos/isdet.cc, spot/twaalgos/isunamb.cc, spot/twaalgos/isweakscc.cc, spot/twaalgos/langmap.cc, spot/twaalgos/lbtt.cc, spot/twaalgos/ltl2taa.cc, spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/magic.cc, spot/twaalgos/mask.cc, spot/twaalgos/minimize.cc, spot/twaalgos/neverclaim.cc, spot/twaalgos/parity.cc, spot/twaalgos/postproc.cc, spot/twaalgos/powerset.cc, spot/twaalgos/product.cc, spot/twaalgos/rabin2parity.cc, spot/twaalgos/randomgraph.cc, spot/twaalgos/randomize.cc, spot/twaalgos/reachiter.cc, spot/twaalgos/relabel.cc, spot/twaalgos/remfin.cc, spot/twaalgos/remprop.cc, spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc, spot/twaalgos/sccinfo.cc, spot/twaalgos/se05.cc, spot/twaalgos/sepsets.cc, spot/twaalgos/simulation.cc, spot/twaalgos/split.cc, spot/twaalgos/stats.cc, spot/twaalgos/strength.cc, spot/twaalgos/stripacc.cc, spot/twaalgos/stutter.cc, spot/twaalgos/sum.cc, spot/twaalgos/tau03.cc, spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc, spot/twaalgos/toweak.cc, spot/twaalgos/translate.cc, spot/twaalgos/word.cc, tests/core/acc.cc, tests/core/bitvect.cc, tests/core/checkpsl.cc, tests/core/checkta.cc, tests/core/consterm.cc, tests/core/emptchk.cc, tests/core/equalsf.cc, tests/core/graph.cc, tests/core/ikwiad.cc, tests/core/intvcmp2.cc, tests/core/intvcomp.cc, tests/core/kind.cc, tests/core/kripkecat.cc, tests/core/length.cc, tests/core/ltlrel.cc, tests/core/ngraph.cc, tests/core/parity.cc, tests/core/randtgba.cc, tests/core/readltl.cc, tests/core/reduc.cc, tests/core/safra.cc, tests/core/sccif.cc, tests/core/syntimpl.cc, tests/core/taatgba.cc, tests/core/tostring.cc, tests/core/trival.cc, tests/core/twagraph.cc, tests/ltsmin/modelcheck.cc, spot/parseaut/scanaut.ll, spot/parsetl/scantl.ll: Include config.h. * spot/gen/Makefile.am, spot/graph/Makefile.am, spot/kripke/Makefile.am, spot/ltsmin/Makefile.am, spot/parseaut/Makefile.am, spot/parsetl/Makefile.am, spot/priv/Makefile.am, spot/ta/Makefile.am, spot/taalgos/Makefile.am, spot/tl/Makefile.am, spot/twa/Makefile.am, spot/twaalgos/Makefile.am, spot/twaalgos/gtec/Makefile.am, tests/Makefile.am: Add the -I lib/ flags. * tests/sanity/includes.test: Catch missing config.h in *.cc, and diagnose config.h in *.hh. * tests/sanity/style.test: Better diagnostics.
This commit is contained in:
parent
cdec6b28a2
commit
ac6b0c9432
165 changed files with 493 additions and 324 deletions
|
|
@ -17,6 +17,7 @@
|
|||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "config.h"
|
||||
#include <spot/twaalgos/totgba.hh>
|
||||
#include <spot/twaalgos/remfin.hh>
|
||||
#include <spot/twaalgos/cleanacc.hh>
|
||||
|
|
@ -25,11 +26,11 @@
|
|||
#include <deque>
|
||||
#include <tuple>
|
||||
|
||||
#define DEBUG 0
|
||||
#if DEBUG
|
||||
#define debug std::cerr
|
||||
#define TRACE 0
|
||||
#if TRACE
|
||||
#define trace std::cerr
|
||||
#else
|
||||
#define debug while (0) std::cerr
|
||||
#define trace while (0) std::cerr
|
||||
#endif
|
||||
|
||||
namespace spot
|
||||
|
|
@ -121,11 +122,11 @@ namespace spot
|
|||
SPOT_UNREACHABLE();
|
||||
}
|
||||
}
|
||||
#if DEBUG
|
||||
debug << "\nPrinting all clauses\n";
|
||||
#if TRACE
|
||||
trace << "\nPrinting all clauses\n";
|
||||
for (unsigned i = 0; i < all_clauses_.size(); ++i)
|
||||
{
|
||||
debug << i << " Fin:" << all_clauses_[i].first << " Inf:"
|
||||
trace << i << " Fin:" << all_clauses_[i].first << " Inf:"
|
||||
<< all_clauses_[i].second << '\n';
|
||||
}
|
||||
#endif
|
||||
|
|
@ -238,16 +239,16 @@ namespace spot
|
|||
res[scc].push_back(clause);
|
||||
}
|
||||
}
|
||||
#if DEBUG
|
||||
debug << "accepting clauses\n";
|
||||
#if TRACE
|
||||
trace << "accepting clauses\n";
|
||||
for (unsigned i = 0; i < res.size(); ++i)
|
||||
{
|
||||
debug << "scc(" << i << ") --> ";
|
||||
trace << "scc(" << i << ") --> ";
|
||||
for (auto elt : res[i])
|
||||
debug << elt << ',';
|
||||
debug << '\n'
|
||||
trace << elt << ',';
|
||||
trace << '\n'
|
||||
}
|
||||
debug << '\n';
|
||||
trace << '\n';
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -257,7 +258,7 @@ namespace spot
|
|||
void
|
||||
add_state(unsigned st)
|
||||
{
|
||||
debug << "add_state(" << st << ")\n";
|
||||
trace << "add_state(" << st << ")\n";
|
||||
if (st_repr_[st].empty())
|
||||
{
|
||||
unsigned st_scc = si_.scc_of(st);
|
||||
|
|
@ -270,7 +271,7 @@ namespace spot
|
|||
|
||||
else
|
||||
st_repr_[st].emplace_back(-1U, res_->new_state());
|
||||
debug << "added\n";
|
||||
trace << "added\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -317,7 +318,7 @@ namespace spot
|
|||
init_st_in_(in->get_init_state_number()),
|
||||
init_reachable_(is_init_reachable())
|
||||
{
|
||||
debug << "State based ? " << state_based_ << '\n';
|
||||
trace << "State based ? " << state_based_ << '\n';
|
||||
std::tie(all_inf_, all_fin_) = code.used_inf_fin_sets();
|
||||
split_dnf_clauses(code);
|
||||
find_set_to_add();
|
||||
|
|
@ -346,7 +347,7 @@ namespace spot
|
|||
add_state(st);
|
||||
for (const auto& e : in_->out(st))
|
||||
{
|
||||
debug << "working_on_edge(" << st << ',' << e.dst << ")\n";
|
||||
trace << "working_on_edge(" << st << ',' << e.dst << ")\n";
|
||||
|
||||
unsigned dst_scc = si_.scc_of(e.dst);
|
||||
if (!si_.is_useful_scc(dst_scc))
|
||||
|
|
@ -366,7 +367,7 @@ namespace spot
|
|||
for (const auto& p_src : st_repr_[st])
|
||||
for (const auto& p_dst : st_repr_[e.dst])
|
||||
{
|
||||
debug << "repr(" << p_src.second << ','
|
||||
trace << "repr(" << p_src.second << ','
|
||||
<< p_dst.second << ")\n";
|
||||
|
||||
if (same_scc && p_src.first == p_dst.first)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue