https://bugs.gentoo.org/981862 https://github.com/nonstd-lite/span-lite/pull/88 https://github.com/nonstd-lite/span-lite/commit/5ac676ad861 --- a/src/libs/3rdparty/span/span.hpp +++ b/src/libs/3rdparty/span/span.hpp @@ -47,4 +47,20 @@ #endif +#ifndef span_CONFIG_CONTRACT_LEVEL_ON +# define span_CONFIG_CONTRACT_LEVEL_ON 1 +#endif + +#ifndef span_CONFIG_CONTRACT_VIOLATION_THROWS +# define span_CONFIG_CONTRACT_VIOLATION_THROWS 0 +#endif + +#ifndef span_CONFIG_CONTRACT_VIOLATION_TERMINATES +# if span_CONFIG_CONTRACT_VIOLATION_THROWS +# define span_CONFIG_CONTRACT_VIOLATION_TERMINATES 0 +# else +# define span_CONFIG_CONTRACT_VIOLATION_TERMINATES 1 +# endif +#endif + #ifndef span_CONFIG_EXTENT_TYPE # define span_CONFIG_EXTENT_TYPE std::size_t @@ -171,6 +187,6 @@ #endif -#if defined( span_CONFIG_CONTRACT_VIOLATION_THROWS ) && span_CONFIG_CONTRACT_VIOLATION_THROWS && \ - defined( span_CONFIG_CONTRACT_VIOLATION_TERMINATES ) && span_CONFIG_CONTRACT_VIOLATION_TERMINATES +#if span_CONFIG_CONTRACT_VIOLATION_THROWS && \ + span_CONFIG_CONTRACT_VIOLATION_TERMINATES # error Please define none or one of span_CONFIG_CONTRACT_VIOLATION_THROWS and span_CONFIG_CONTRACT_VIOLATION_TERMINATES to 1, but not both. #endif @@ -497,4 +513,8 @@ #endif +#if span_CONFIG( CONTRACT_VIOLATION_TERMINATES ) +# include +#endif + // Contract violation