GCC Code Coverage Report
Directory: . Exec Total Coverage
File: build-coverage/src/options/sets_options.h Lines: 7 7 100.0 %
Date: 2021-05-22 Branches: 0 0 0.0 %

Line Exec Source
1
/******************************************************************************
2
 * Top contributors (to current version):
3
 *   Mathias Preiner, Aina Niemetz
4
 *
5
 * This file is part of the cvc5 project.
6
 *
7
 * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
8
 * in the top-level source directory and their institutional affiliations.
9
 * All rights reserved.  See the file COPYING in the top-level source
10
 * directory for licensing information.
11
 * ****************************************************************************
12
 *
13
 * Contains code for handling command-line options.
14
 *
15
 * For each <module>_options.toml configuration file, mkoptions.py
16
 * expands this template and generates a <module>_options.h file.
17
 */
18
19
#include "cvc5_private.h"
20
21
#ifndef CVC5__OPTIONS__SETS_H
22
#define CVC5__OPTIONS__SETS_H
23
24
#include "options/options.h"
25
26
// clang-format off
27
28
// clang-format on
29
30
namespace cvc5 {
31
namespace options {
32
33
// clang-format off
34
35
// clang-format on
36
37
#if defined(CVC5_MUZZLED) || defined(CVC5_COMPETITION_MODE)
38
#  define DO_SEMANTIC_CHECKS_BY_DEFAULT false
39
#else /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */
40
#  define DO_SEMANTIC_CHECKS_BY_DEFAULT true
41
#endif /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */
42
43
25268
struct HolderSETS
44
{
45
// clang-format off
46
  bool setsExt = false;\
47
  bool setsExt__setByUser__ = false;
48
  bool setsInferAsLemmas = true;\
49
  bool setsInferAsLemmas__setByUser__ = false;
50
  bool setsProxyLemmas = false;\
51
  bool setsProxyLemmas__setByUser__ = false;
52
// clang-format on
53
};
54
55
#undef DO_SEMANTIC_CHECKS_BY_DEFAULT
56
57
// clang-format off
58
extern struct setsExt__option_t
59
{
60
  typedef bool type;
61
  type operator()() const;
62
} thread_local setsExt;
63
extern struct setsInferAsLemmas__option_t
64
{
65
  typedef bool type;
66
  type operator()() const;
67
} thread_local setsInferAsLemmas;
68
extern struct setsProxyLemmas__option_t
69
{
70
  typedef bool type;
71
  type operator()() const;
72
} thread_local setsProxyLemmas;
73
// clang-format on
74
75
namespace sets
76
{
77
// clang-format off
78
static constexpr const char* setsExt__name = "sets-ext";
79
static constexpr const char* setsInferAsLemmas__name = "sets-infer-as-lemmas";
80
static constexpr const char* setsProxyLemmas__name = "sets-proxy-lemmas";
81
// clang-format on
82
}
83
84
}  // namespace options
85
86
// clang-format off
87
template <> options::setsExt__option_t::type& Options::ref(
88
    options::setsExt__option_t);
89
template <> const options::setsExt__option_t::type& Options::operator[](
90
    options::setsExt__option_t) const;
91
template <> bool Options::wasSetByUser(options::setsExt__option_t) const;
92
template <> options::setsInferAsLemmas__option_t::type& Options::ref(
93
    options::setsInferAsLemmas__option_t);
94
template <> const options::setsInferAsLemmas__option_t::type& Options::operator[](
95
    options::setsInferAsLemmas__option_t) const;
96
template <> bool Options::wasSetByUser(options::setsInferAsLemmas__option_t) const;
97
template <> options::setsProxyLemmas__option_t::type& Options::ref(
98
    options::setsProxyLemmas__option_t);
99
template <> const options::setsProxyLemmas__option_t::type& Options::operator[](
100
    options::setsProxyLemmas__option_t) const;
101
template <> bool Options::wasSetByUser(options::setsProxyLemmas__option_t) const;
102
// clang-format on
103
104
namespace options {
105
// clang-format off
106
18108
inline setsExt__option_t::type setsExt__option_t::operator()() const
107
{
108
18108
  return Options::current()[*this];
109
}
110
72974
inline setsInferAsLemmas__option_t::type setsInferAsLemmas__option_t::operator()() const
111
{
112
72974
  return Options::current()[*this];
113
}
114
51659
inline setsProxyLemmas__option_t::type setsProxyLemmas__option_t::operator()() const
115
{
116
51659
  return Options::current()[*this];
117
}
118
// clang-format on
119
120
}  // namespace options
121
}  // namespace cvc5
122
123
#endif /* CVC5__OPTIONS__SETS_H */