-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add build and tests on Linux, Mac, and Windows to GitHub CI #467
Conversation
c9e41bf
to
849ab13
Compare
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #467 +/- ##
=============================================
+ Coverage 97.165% 97.170% +0.005%
=============================================
Files 80 80
Lines 4480 4488 +8
=============================================
+ Hits 4353 4361 +8
Misses 127 127
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
ace4265
to
7164b0b
Compare
e1958ee
to
9372ef1
Compare
1f4f42a
to
35261cf
Compare
86733b6
to
b3d0777
Compare
f0db089
to
d528a60
Compare
This might explain why the Reduce struct gave unexpected zeros?
MSVC is quite strict on the size of a c-like array. Unlike Clang and GCC, it does not just make it into a 'ghost variable' of size 0. Instead, we get a compiler error complaining about a 0-sized array (specifically for 'request_data' that inherits from it).
The MSVC compiler wrongly turns the argument into a pointer and it cannot at that point figure out it was supposed to be a reference instead
MSVC correctly notices this is an undefined typename
d528a60
to
123e983
Compare
123e983
to
1901521
Compare
Benchmark Report 🟢
Minimum running time (s) for 12-Queens:
|
Benchmark Report 🟢
Minimum running time (s) for 9-Queens:
|
Benchmark Report 🟢
Minimum running time (s) for 14-Queens:
|
This addition is heavily based on my contribution to TPIE. Adding this now also exposes me to (new) compilation issues with Clang (and MSVC). Hence, this also is a follow up on #403 and #317 .
Bug Fixes
substitute
andreduce
in the statistics struct. This explains why said value might be unexpectedly 0.Clang
src/adiar
Warnings
algorithms/reduce.h:39:5
: Definition of implicit copy assignment operator for 'reduce_arc' is deprecated because it has a user-declared copy constructor.*/count.*
: warning: suggest braces around initialization of subobjectI do not think, these can be fixed, since the extra braces conflict with the simpler path-based version. The real solution is to switch to the
request
struct.algorithms/substitution.h:33:5
: warning: definition of implicit copy assignment operator for 'substitute_arc'Errors / Test Failures
request
class templateint[]
the way GCC treatsstd::array<int>
. Yet, I cannot reproduce this. Until it shows up again, I will not fix it.test/adiar
Warnings
io/test_file.cpp:122:49
: warning: lambda capture 'curr_path' is not usedio/test_levelized_file.cpp:855:95
: warning: lambda capture 'curr_path' is not usedio/test_levelized_file.cpp:1279:45
: warning: lambda capture 'tmp_path' is not usedio/test_levelized_file.cpp:1290:45
: warning: lambda capture 'tmp_path' is not usedio/test_levelized_file.cpp:1301:50
: warning: lambda capture 'tmp_path' is not usedWindows
src/adiar
Errors
The value
TRUE
,FALSE
, orNONE
(or more?) are already defined in the preprocessor.internal/io/node_writer.h(362,48)
: error C2672: 'std::max': no matching overloaded function foundinternal/data_types/request.h(212,3)
: error C2503: 'adiar::internal::request<2,0,1>': base classes cannot contain zero-sized arraysinternal/algorithms/quantify.h(94,85)
: error C2988: unrecognizable template declaration/definitioninternal/algorithms/quantify.h(94,1)
: error C4430: missing type specifier - int assumed. Note: C++ does not support default-intbdd\apply.cpp(59,7): error C3861
: '__builtin_unreachable': identifier not foundinternal/algorithms/reduce.h(279,9)
'adiar::internal::__reduce_cut_add': no overloaded function could convert all the argument typesbdd\build.cpp(49,33)
/(50,3)
: missing type specifier - int assumed. Note: C++ does not support default-intbdd\build.cpp(49,15)
/(86,12)
/(87,12)
: error C2146: syntax error: missing ';' before identifierLots of issues with CNL
bdd\apply.cpp(108,63)
? (?,?)
bdd\restrict.cpp(65,62)
:zdd\binop.cpp(143,53)
zdd\change.cpp(57,60)
zdd\complement.cpp(75,66)
zdd\expand.cpp(59,60)
zdd\subset.cpp(112,108)
bdd/bdd.cpp(51,71)
: message : see reference to function template instantiation 'adiar::bdd adiar::internal::reduceadiar::bdd_policy(const adiar::__bdd &)' being compiledWarnings
statistics.cpp(55,32)
: warning C4129: 'e': unrecognized character escape sequencetest_request.cpp(22,9)
: '==': unsafe mix of type 'const ExpectedType' and type 'const ActualType' in operation