Add build and tests on Linux, Mac, and Windows to GitHub CI#467
Add build and tests on Linux, Mac, and Windows to GitHub CI#467ssoelvsten merged 18 commits intomainfrom
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
substituteandreducein the statistics struct. This explains why said value might be unexpectedly 0.Clang
src/adiarWarnings
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
requeststruct.algorithms/substitution.h:33:5: warning: definition of implicit copy assignment operator for 'substitute_arc'Errors / Test Failures
requestclass templateint[]the way GCC treatsstd::array<int>. Yet, I cannot reproduce this. Until it shows up again, I will not fix it.test/adiarWarnings
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/adiarErrors
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