Previous versions (07-19) and (08-30) work.
In file included from nnue/trainer/features/all_factorizers.h:4:
nnue/trainer/features/factorizer.h:16:38: error: constexpr function's return type 'std::string' (aka 'basic_string<char,
char_traits<char>, allocator<char> >') is not a literal type
static constexpr std::string get_name() {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:4333:64: note:
'basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' is not literal because it is not an aggregate
and has no constexpr constructors other than copy or move constructors
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from nnue/trainer/features/all_factorizers.h:4:
nnue/trainer/features/factorizer.h:20:38: error: constexpr function's return type 'std::string' (aka 'basic_string<char,
char_traits<char>, allocator<char> >') is not a literal type
static constexpr std::string get_factorizers_string() {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:4333:64: note:
'basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' is not literal because it is not an aggregate
and has no constexpr constructors other than copy or move constructors
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from nnue/trainer/features/all_factorizers.h:5:
nnue/trainer/features/factorizer_feature_set.h:24:38: error: constexpr function's return type 'std::string' (aka
'basic_string<char, char_traits<char>, allocator<char> >') is not a literal type
static constexpr std::string get_factorizers_string() {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:4333:64: note:
'basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' is not literal because it is not an aggregate
and has no constexpr constructors other than copy or move constructors
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from nnue/trainer/features/all_factorizers.h:5:
nnue/trainer/features/factorizer_feature_set.h:84:38: error: constexpr function's return type 'std::string' (aka
'basic_string<char, char_traits<char>, allocator<char> >') is not a literal type
static constexpr std::string get_name() {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:4333:64: note:
'basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' is not literal because it is not an aggregate
and has no constexpr constructors other than copy or move constructors
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from nnue/trainer/features/all_factorizers.h:5:
nnue/trainer/features/factorizer_feature_set.h:88:38: error: constexpr function's return type 'std::string' (aka
'basic_string<char, char_traits<char>, allocator<char> >') is not a literal type
static constexpr std::string get_factorizers_string() {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:4333:64: note:
'basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' is not literal because it is not an aggregate
and has no constexpr constructors other than copy or move constructors
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from nnue/trainer/features/all_factorizers.h:7:
nnue/trainer/features/factorizer_half_kp.h:48:38: error: constexpr function's return type 'std::string' (aka 'basic_string<char,
char_traits<char>, allocator<char> >') is not a literal type
static constexpr std::string get_name() {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:4333:64: note:
'basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' is not literal because it is not an aggregate
and has no constexpr constructors other than copy or move constructors
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from nnue/trainer/features/all_factorizers.h:7:
nnue/trainer/features/factorizer_half_kp.h:52:38: error: constexpr function's return type 'std::string' (aka 'basic_string<char,
char_traits<char>, allocator<char> >') is not a literal type
static constexpr std::string get_factorizers_string() {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:4333:64: note:
'basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' is not literal because it is not an aggregate
and has no constexpr constructors other than copy or move constructors
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from nnue/trainer/features/all_factorizers.h:8:
nnue/trainer/features/factorizer_half_ka.h:45:38: error: constexpr function's return type 'std::string' (aka 'basic_string<char,
char_traits<char>, allocator<char> >') is not a literal type
static constexpr std::string get_name() {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:4333:64: note:
'basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' is not literal because it is not an aggregate
and has no constexpr constructors other than copy or move constructors
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from nnue/trainer/features/all_factorizers.h:8:
nnue/trainer/features/factorizer_half_ka.h:49:38: error: constexpr function's return type 'std::string' (aka 'basic_string<char,
char_traits<char>, allocator<char> >') is not a literal type
static constexpr std::string get_factorizers_string() {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:4333:64: note:
'basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' is not literal because it is not an aggregate
and has no constexpr constructors other than copy or move constructors
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
^
In file included from nnue/evaluate_nnue_learner.cpp:9:
nnue/trainer/trainer_feature_transformer.h:696:36: warning: variable length arrays are a C99 feature [-Wvla-extension]
LearnFloatType weights_[kHalfDimensions * kInputDimensions];
^
nnue/trainer/trainer_feature_transformer.h:696:28: error: fields must have a constant size: 'variable length array in structure'
extension will never be supported
LearnFloatType weights_[kHalfDimensions * kInputDimensions];
^
nnue/trainer/trainer_feature_transformer.h:705:40: error: non-type template argument is not a constant expression
using BitsetType = LargeBitset<kInputDimensions>;
^
nnue/trainer/trainer_feature_transformer.h:706:9: error: unknown type name 'BitsetType'
BitsetType observed_features;
^
nnue/trainer/trainer_feature_transformer.h:481:54: error: use of undeclared identifier 'BitsetType'
(feature_index / BitsetType::best_concurrent_access_stride)
^
nnue/evaluate_nnue_learner.cpp:73:51: error: no member named 'get_factorizers_string' in
'Eval::NNUE::Features::Factorizer<Eval::NNUE::Features::FeatureSet<Eval::NNUE::Features::HalfKP<Eval::NNUE::Features::Side::kFriend>
> >'
<< Features::Factorizer<RawFeatures>::get_factorizers_string() << std::endl;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from ./nnue/trainer/features/all_factorizers.h:7:
nnue/trainer/features/factorizer_half_kp.h:34:44: error: definition of variable with array type needs an explicit size or an
initializer
static constexpr FeatureProperties kProperties[] = {
^
nnue/trainer/features/factorizer_half_kp.h:45:40: note: in instantiation of static data member
'Eval::NNUE::Features::Factorizer<Eval::NNUE::Features::HalfKP<Eval::NNUE::Features::Side::kFriend> >::kProperties'
requested here
static_assert(get_array_length(kProperties) == kNumTrainingFeatureTypes, "");
^
nnue/trainer/features/factorizer_feature_set.h:94:20: note: in instantiation of template class
'Eval::NNUE::Features::Factorizer<Eval::NNUE::Features::HalfKP<Eval::NNUE::Features::Side::kFriend> >' requested here
return Factorizer<FeatureType>::get_dimensions();
^
nnue/evaluate_nnue_learner.cpp:166:66: note: in instantiation of member function
'Eval::NNUE::Features::Factorizer<Eval::NNUE::Features::FeatureSet<Eval::NNUE::Features::HalfKP<Eval::NNUE::Features::Side::kFriend>
> >::get_dimensions' requested here
static_assert(Features::Factorizer<RawFeatures>::get_dimensions() <
^
In file included from nnue/evaluate_nnue_learner.cpp:7:
In file included from ./nnue/trainer/features/all_factorizers.h:7:
nnue/trainer/features/factorizer_half_kp.h:45:23: error: no matching function for call to 'get_array_length'
static_assert(get_array_length(kProperties) == kNumTrainingFeatureTypes, "");
^~~~~~~~~~~~~~~~
nnue/trainer/features/factorizer_feature_set.h:94:20: note: in instantiation of template class
'Eval::NNUE::Features::Factorizer<Eval::NNUE::Features::HalfKP<Eval::NNUE::Features::Side::kFriend> >' requested here
return Factorizer<FeatureType>::get_dimensions();
^
nnue/evaluate_nnue_learner.cpp:166:66: note: in instantiation of member function
'Eval::NNUE::Features::Factorizer<Eval::NNUE::Features::FeatureSet<Eval::NNUE::Features::HalfKP<Eval::NNUE::Features::Side::kFriend>
> >::get_dimensions' requested here
static_assert(Features::Factorizer<RawFeatures>::get_dimensions() <
^
nnue/trainer/features/factorizer.h:111:27: note: candidate template ignored: could not match 'const T [N]' against
'Eval::NNUE::Features::FeatureProperties const[]'
constexpr std::size_t get_array_length(const T (&/*array*/)[N]) {
^
nnue/evaluate_nnue_learner.cpp:166:31: error: static_assert expression is not an integral constant expression
static_assert(Features::Factorizer<RawFeatures>::get_dimensions() <
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clang: warning: -lstdc++fs: 'linker' input unused [-Wunused-command-line-argument]
In file included from nnue/evaluate_nnue_learner.cpp:4:
In file included from nnue/evaluate_nnue.h:24:
In file included from nnue/nnue_feature_transformer.h:24:
nnue/nnue_common.h:30:36: warning: 'filesystem' is deprecated: std::experimental::filesystem has now been deprecated in favor of
C++17's std::filesystem. Please stop using it and start using std::filesystem. This experimental version will be removed in
LLVM 11. You can remove this warning by defining the _LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM macro.
[-Wdeprecated-declarations]
namespace sys = std::experimental::filesystem;
Previous versions (07-19) and (08-30) work.
Files that cause these errors:
See below:
Apart from the above, there are also 2 warnings which might be helpful: