• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 18589691536

17 Oct 2025 10:16AM UTC coverage: 86.083% (-0.01%) from 86.096%
18589691536

push

github

sergepetrenko
build: use C++17 when it's available

Recently our fuzzing builds started failing due to fuzzer code using
C++17 features:
```
In file included from /src/tarantool/test/fuzz/datetime_strptime_fuzzer.cc:1:
/usr/local/lib/clang/22/include/fuzzer/FuzzedDataProvider.h:206:22: error: no template named 'is_integral_v' in namespace 'std'; did you mean 'is_integral'?
  206 |   static_assert(std::is_integral_v<T>, "An integral type is required.");
      |                 ~~~~~^
/usr/local/bin/../include/c++/v1/__type_traits/is_integral.h:25:35: note: 'is_integral' declared here
   25 | struct _LIBCPP_NO_SPECIALIZATIONS is_integral : _BoolConstant<__is_integral(_Tp)> {};
      |                                   ^
/usr/local/lib/clang/22/include/fuzzer/FuzzedDataProvider.h:280:21: error: no type named 'conditional_t' in namespace 'std'
  280 |       typename std::conditional_t<(sizeof(T) <= sizeof(uint32_t)), uint32_t,
      |       ~~~~~~~~~~~~~~^~~~~~~~~~~~~
/usr/local/lib/clang/22/include/fuzzer/FuzzedDataProvider.h:283:45: error: use of undeclared identifier 'IntegralType'
  283 |   T result = static_cast<T>(ConsumeIntegral<IntegralType>());
      |                                             ^~~~~~~~~~~~
/usr/local/lib/clang/22/include/fuzzer/FuzzedDataProvider.h:297:22: error: no template named 'is_enum_v' in namespace 'std'; did you mean 'is_enum'?
  297 |   static_assert(std::is_enum_v<T>, "|T| must be an enum type.");
      |                 ~~~~~^
/usr/local/bin/../include/c++/v1/__type_traits/is_enum.h:22:35: note: 'is_enum' declared here
   22 | struct _LIBCPP_NO_SPECIALIZATIONS is_enum : integral_constant<bool, __is_enum(_Tp)> {};
      |                                   ^
```

We want to keep fuzzers running but at the same time we want to keep
Tarantool compiling on old OSes, like CentOS 7, which don't have a
compiler supporting C++17. This is an LTS release and it shouldn't drop
OS support in a patch version.

Let's use C++17 when it's availabl... (continued)

63625 of 115122 branches covered (55.27%)

94616 of 109913 relevant lines covered (86.08%)

1892212.68 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.85
/src/box/lua/init.c


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc