davidstone / bounded-integer

C++ library aiming to replace all built-in integers
Boost Software License 1.0
88 stars 3 forks source link

Add support for building with GCC-13(?) #6

Open worthless443 opened 1 year ago

worthless443 commented 1 year ago

For now, I have the latest GCC 13.1.1 environment setup but from what I guess, building with it doesn't get it to build at all (for example, see one of many errors reported while building below)

/home/aissy/c_cpp/testing/bounded_int2/source/bounded/detail/variant/variant.cpp:80:40:   required from here
/home/aissy/c_cpp/testing/bounded_int2/include/bounded/detail/variant/visit.hpp:49:20: error: no match for call to ‘(bounded::detail::rotate_transform_impl<0, 1>(std::index_sequence<0, 1>)::<lambda(auto:219, auto:220&& ..., auto:221&&)>) (bounded::detail::<lambda(auto:230)>::<lambda(auto:231&&, auto:232&& ...)>&, bounded::variant<int, short int, long int, char, int>, bounded::variant<int, short int, long int, char, int>, const bounded::detail::<lambda(bounded::visitor_parameter<LHS, lhs_n>, bounded::visitor_parameter<RHS, rhs_n>)>&)’
   49 |         return impl(transform, OPERATORS_FORWARD(args)...);
      |                ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/aissy/c_cpp/testing/bounded_int2/include/bounded/detail/variant/visit.hpp:38:16: note: candidate: ‘template<class auto:219, class ... auto:220, class auto:221>  requires (... && any_with_value<auto:220, indexes>) bounded::detail::rotate_transform_impl<0, 1>(std::index_sequence<0, 1>)::<lambda(auto:219, auto:220&& ..., auto:221&&)>’
   38 |         return [](
      |                ^
/home/aissy/c_cpp/testing/bounded_int2/include/bounded/detail/variant/visit.hpp:38:16: note:   template argument deduction/substitution failed:
/home/aissy/c_cpp/testing/bounded_int2/include/bounded/detail/variant/visit.hpp:49:20: note:   candidate expects 2 arguments, 4 provided
   49 |         return impl(transform, OPERATORS_FORWARD(args)...);

I really want to try out bounded integers but don't have the time or resourecs to build clang16 and LLVM from source, hopefully support for GCC 13 can be accomodated.