Test output: teeks99-dkr-mg13-14 - parser - github_issues / gcc-13~c++14
Rev 7e09330c84621efd22370bf57289b67c7283ee21 / Mon, 18 Nov 2024 03:46:32 +0000
Compile [2024-11-18 06:23:14 UTC]: fail


    "g++-13"   -fvisibility-inlines-hidden -std=c++14 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden  -DBOOST_ALL_NO_LIB=1 -DBOOST_CHARCONV_DYN_LINK=1 -DBOOST_CHARCONV_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1   -I".." -I"/var/boost/run/boost_root/libs/assert/include" -I"/var/boost/run/boost_root/libs/charconv/include" -I"/var/boost/run/boost_root/libs/core/include" -I"/var/boost/run/boost_root/libs/throw_exception/include"  -c -o "/var/boost/run/results/boost/bin.v2/libs/parser/test/github_issues.test/gcc-13~c++14/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/github_issues.o" "../libs/parser/test/github_issues.cpp"

In file included from ../boost/parser/detail/text/concepts.hpp:10,
                 from ../boost/parser/detail/text/detail/algorithm.hpp:9,
                 from ../boost/parser/subrange.hpp:10,
                 from ../boost/parser/config.hpp:92,
                 from ../boost/parser/parser_fwd.hpp:9,
                 from ../boost/parser/parser.hpp:9,
                 from ../libs/parser/test/github_issues.cpp:9:
../boost/parser/detail/text/utf.hpp: In function 'constexpr boost::parser::detail::text::format boost::parser::detail::text::detail::format_of()':
../boost/parser/detail/text/utf.hpp:25:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   25 |             if constexpr (
      |                ^~~~~~~~~
../boost/parser/detail/text/utf.hpp:26:22: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
   26 |                 std::is_same_v<T, char>
      |                      ^~~~~~~~~
      |                      is_same
../boost/parser/detail/text/utf.hpp:26:33: error: expected primary-expression before ',' token
   26 |                 std::is_same_v<T, char>
      |                                 ^
../boost/parser/detail/text/utf.hpp:26:35: error: expected primary-expression before 'char'
   26 |                 std::is_same_v<T, char>
      |                                   ^~~~
../boost/parser/detail/text/utf.hpp:26:34: error: expected ')' before 'char'
   26 |                 std::is_same_v<T, char>
      |                                  ^~~~~
      |                                  )
../boost/parser/detail/text/utf.hpp:25:26: note: to match this '('
   25 |             if constexpr (
      |                          ^
../boost/parser/detail/text/utf.hpp:33:22: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
   33 |                 std::is_same_v<T, char16_t>
      |                      ^~~~~~~~~
      |                      is_same
../boost/parser/detail/text/utf.hpp:33:33: error: expected primary-expression before ',' token
   33 |                 std::is_same_v<T, char16_t>
      |                                 ^
../boost/parser/detail/text/utf.hpp:33:35: error: expected primary-expression before 'char16_t'
   33 |                 std::is_same_v<T, char16_t>
      |                                   ^~~~~~~~
../boost/parser/detail/text/utf.hpp:33:34: error: expected ')' before 'char16_t'
   33 |                 std::is_same_v<T, char16_t>
      |                                  ^~~~~~~~~
      |                                  )
../boost/parser/detail/text/utf.hpp:32:23: note: to match this '('
   32 |             } else if (
      |                       ^
../boost/parser/detail/text/concepts.hpp: At global scope:
../boost/parser/detail/text/concepts.hpp:232:14: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
  232 |         std::is_same_v<T, char16_t> || std::is_same_v<T, char32_t> ||
      |              ^~~~~~~~~
      |              is_same
../boost/parser/detail/text/concepts.hpp:232:25: error: expected primary-expression before ',' token
  232 |         std::is_same_v<T, char16_t> || std::is_same_v<T, char32_t> ||
      |                         ^
In file included from ../boost/parser/detail/text/transcode_algorithm.hpp:11,
                 from ../boost/parser/detail/text/transcode_view.hpp:9,
                 from ../boost/parser/error_handling_fwd.hpp:6,
                 from ../boost/parser/parser_fwd.hpp:10:
../boost/parser/detail/text/transcode_iterator.hpp: In function 'auto boost::parser::detail::text::detail::bidirectional_at_most()':
../boost/parser/detail/text/transcode_iterator.hpp:126:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  126 |             if constexpr (std::is_base_of_v<
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp:126:32: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
  126 |             if constexpr (std::is_base_of_v<
      |                                ^~~~~~~~~~~~
      |                                is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:127:62: error: expected primary-expression before ',' token
  127 |                               std::bidirectional_iterator_tag,
      |                                                              ^
../boost/parser/detail/text/transcode_iterator.hpp:128:39: error: expected primary-expression before '>' token
  128 |                               category>) {
      |                                       ^
../boost/parser/detail/text/transcode_iterator.hpp:128:40: error: expected primary-expression before ')' token
  128 |                               category>) {
      |                                        ^
../boost/parser/detail/text/transcode_iterator.hpp: At global scope:
../boost/parser/detail/text/transcode_iterator.hpp:929:44: error: 'std::string_view' has not been declared
  929 |         constexpr char32_t operator()(std::string_view) const noexcept
      |                                            ^~~~~~~~~~~
In file included from ../boost/parser/detail/text/transcode_iterator.hpp:1776:
../boost/parser/detail/text/unpack.hpp:69:18: error: 'optional' in namespace 'std' does not name a template type
   69 |             std::optional<I> first;
      |                  ^~~~~~~~
../boost/parser/detail/text/unpack.hpp:69:13: note: 'std::optional' is only available from C++17 onwards
   69 |             std::optional<I> first;
      |             ^~~
../boost/parser/detail/text/unpack.hpp: In constructor 'boost::parser::detail::text::detail::repacker<RepackedIterator, I, S, Then, Bidi>::repacker(I, S, Then)':
../boost/parser/detail/text/unpack.hpp:45:19: error: class 'boost::parser::detail::text::detail::repacker<RepackedIterator, I, S, Then, Bidi>' does not have any field named 'first'
   45 |                 : first{first},
      |                   ^~~~~
../boost/parser/detail/text/unpack.hpp: In member function 'auto boost::parser::detail::text::detail::repacker<RepackedIterator, I, S, Then, Bidi>::operator()(I) const':
../boost/parser/detail/text/unpack.hpp:62:20: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   62 |                 if constexpr (Bidi) {
      |                    ^~~~~~~~~
../boost/parser/detail/text/unpack.hpp:63:51: error: 'first' was not declared in this scope; did you mean 'first_cu'?
   63 |                     return then(RepackedIterator(*first, it, last));
      |                                                   ^~~~~
      |                                                   first_cu
../boost/parser/detail/text/unpack.hpp: At global scope:
../boost/parser/detail/text/unpack.hpp:130:9: warning: inline variables are only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  130 |         inline constexpr detail::unpack_iterator_and_sentinel_cpo
      |         ^~~~~~
../boost/parser/detail/text/unpack.hpp: In function 'constexpr auto boost::parser::detail::text::detail::unpack_iterator_and_sentinel_impl(I, S, Repack)':
../boost/parser/detail/text/unpack.hpp:156:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  156 |             if constexpr (
      |                ^~~~~~~~~
../boost/parser/detail/text/unpack.hpp:157:22: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
  157 |                 std::is_same_v<value_type, char>
      |                      ^~~~~~~~~
      |                      is_same
../boost/parser/detail/text/unpack.hpp:157:42: error: expected primary-expression before ',' token
  157 |                 std::is_same_v<value_type, char>
      |                                          ^
../boost/parser/detail/text/unpack.hpp:157:44: error: expected primary-expression before 'char'
  157 |                 std::is_same_v<value_type, char>
      |                                            ^~~~
../boost/parser/detail/text/unpack.hpp:157:43: error: expected ')' before 'char'
  157 |                 std::is_same_v<value_type, char>
      |                                           ^~~~~
      |                                           )
../boost/parser/detail/text/unpack.hpp:156:26: note: to match this '('
  156 |             if constexpr (
      |                          ^
../boost/parser/detail/text/unpack.hpp:164:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  164 |             } else if constexpr (
      |                       ^~~~~~~~~
../boost/parser/detail/text/unpack.hpp:168:22: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
  168 |                 std::is_same_v<value_type, char16_t>) {
      |                      ^~~~~~~~~
      |                      is_same
../boost/parser/detail/text/unpack.hpp:168:42: error: expected primary-expression before ',' token
  168 |                 std::is_same_v<value_type, char16_t>) {
      |                                          ^
../boost/parser/detail/text/unpack.hpp:168:44: error: expected primary-expression before 'char16_t'
  168 |                 std::is_same_v<value_type, char16_t>) {
      |                                            ^~~~~~~~
../boost/parser/detail/text/unpack.hpp:168:43: error: expected ')' before 'char16_t'
  168 |                 std::is_same_v<value_type, char16_t>) {
      |                                           ^~~~~~~~~
      |                                           )
../boost/parser/detail/text/unpack.hpp:164:33: note: to match this '('
  164 |             } else if constexpr (
      |                                 ^
../boost/parser/detail/text/unpack.hpp:171:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  171 |             } else if constexpr (
      |                       ^~~~~~~~~
../boost/parser/detail/text/unpack.hpp:173:22: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
  173 |                 std::is_same_v<value_type, wchar_t> ||
      |                      ^~~~~~~~~
      |                      is_same
../boost/parser/detail/text/unpack.hpp:173:42: error: expected primary-expression before ',' token
  173 |                 std::is_same_v<value_type, wchar_t> ||
      |                                          ^
../boost/parser/detail/text/unpack.hpp:173:44: error: expected primary-expression before 'wchar_t'
  173 |                 std::is_same_v<value_type, wchar_t> ||
      |                                            ^~~~~~~
../boost/parser/detail/text/unpack.hpp:173:43: error: expected ')' before 'wchar_t'
  173 |                 std::is_same_v<value_type, wchar_t> ||
      |                                           ^~~~~~~~
      |                                           )
../boost/parser/detail/text/unpack.hpp:171:33: note: to match this '('
  171 |             } else if constexpr (
      |                                 ^
../boost/parser/detail/text/unpack.hpp:180:26: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
  180 |                     std::is_same_v<Repack, no_such_type>,
      |                          ^~~~~~~~~
      |                          is_same
../boost/parser/detail/text/unpack.hpp:180:42: error: expected primary-expression before ',' token
  180 |                     std::is_same_v<Repack, no_such_type>,
      |                                          ^
../boost/parser/detail/text/unpack.hpp:180:44: error: expected string-literal before 'no_such_type'
  180 |                     std::is_same_v<Repack, no_such_type>,
      |                                            ^~~~~~~~~~~~
../boost/parser/detail/text/unpack.hpp:180:43: error: expected ')' before 'no_such_type'
  180 |                     std::is_same_v<Repack, no_such_type>,
      |                                           ^~~~~~~~~~~~~
      |                                           )
../boost/parser/detail/text/unpack.hpp:179:30: note: to match this '('
  179 |                 static_assert(
      |                              ^
../boost/parser/detail/text/unpack.hpp: In function 'constexpr auto boost::parser::detail::text::detail::unpack_iterator_and_sentinel_impl(boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>, boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>, Repack)':
../boost/parser/detail/text/unpack.hpp:206:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  206 |         if constexpr (
      |            ^~~~~~~~~
../boost/parser/detail/text/unpack.hpp:210:18: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
  210 |             std::is_base_of_v<
      |                  ^~~~~~~~~~~~
      |                  is_base_of
../boost/parser/detail/text/unpack.hpp:211:48: error: expected primary-expression before ',' token
  211 |                 std::bidirectional_iterator_tag,
      |                                                ^
../boost/parser/detail/text/unpack.hpp:212:68: error: expected '(' before '>' token
  212 |                 typename std::iterator_traits<I>::iterator_category>
      |                                                                    ^
      |                                                                    (
../boost/parser/detail/text/unpack.hpp:214:9: error: expected primary-expression before ')' token
  214 |         ) {
      |         ^
../boost/parser/detail/text/unpack.hpp: In function 'constexpr auto boost::parser::detail::text::detail::unpack_iterator_and_sentinel_impl(boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>, S, Repack)':
../boost/parser/detail/text/unpack.hpp:246:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  246 |         if constexpr (
      |            ^~~~~~~~~
../boost/parser/detail/text/unpack.hpp:250:18: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
  250 |             std::is_base_of_v<
      |                  ^~~~~~~~~~~~
      |                  is_base_of
../boost/parser/detail/text/unpack.hpp:251:48: error: expected primary-expression before ',' token
  251 |                 std::bidirectional_iterator_tag,
      |                                                ^
../boost/parser/detail/text/unpack.hpp:252:68: error: expected '(' before '>' token
  252 |                 typename std::iterator_traits<I>::iterator_category>
      |                                                                    ^
      |                                                                    (
../boost/parser/detail/text/unpack.hpp:254:9: error: expected primary-expression before ')' token
  254 |         ) {
      |         ^
../boost/parser/detail/text/transcode_iterator.hpp: In function 'constexpr auto boost::parser::detail::text::detail::format_to_type()':
../boost/parser/detail/text/transcode_iterator.hpp:2505:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 2505 |             if constexpr (Format == format::utf8) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp:2507:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 2507 |             } else if constexpr (Format == format::utf16) {
      |                       ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: At global scope:
../boost/parser/detail/text/transcode_iterator.hpp:2519:18: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
 2519 |             std::is_base_of_v<
      |                  ^~~~~~~~~~~~
      |                  is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:2520:48: error: expected primary-expression before ',' token
 2520 |                 std::bidirectional_iterator_tag,
      |                                                ^
../boost/parser/detail/text/transcode_iterator.hpp:2535:57: error: 'is_convertible_v' is not a member of 'std'; did you mean 'is_convertible'?
 2535 |                 typename Enable = std::enable_if_t<std::is_convertible_v<I2, I>>
      |                                                         ^~~~~~~~~~~~~~~~
      |                                                         is_convertible
../boost/parser/detail/text/transcode_iterator.hpp:2535:57: error: 'is_convertible_v' is not a member of 'std'; did you mean 'is_convertible'?
 2535 |                 typename Enable = std::enable_if_t<std::is_convertible_v<I2, I>>
      |                                                         ^~~~~~~~~~~~~~~~
      |                                                         is_convertible
../boost/parser/detail/text/transcode_iterator.hpp:2535:78: error: template argument 1 is invalid
 2535 |                 typename Enable = std::enable_if_t<std::is_convertible_v<I2, I>>
      |                                                                              ^
../boost/parser/detail/text/transcode_iterator.hpp:2537:17: error: expected unqualified-id before '>' token
 2537 |                 >
      |                 ^
../boost/parser/detail/text/transcode_iterator.hpp:2542:13: error: expected unqualified-id before '{' token
 2542 |             {}
      |             ^
../boost/parser/detail/text/transcode_iterator.hpp:2556:57: error: 'is_convertible_v' is not a member of 'std'; did you mean 'is_convertible'?
 2556 |                 typename Enable = std::enable_if_t<std::is_convertible_v<I2, I>>
      |                                                         ^~~~~~~~~~~~~~~~
      |                                                         is_convertible
../boost/parser/detail/text/transcode_iterator.hpp:2556:57: error: 'is_convertible_v' is not a member of 'std'; did you mean 'is_convertible'?
 2556 |                 typename Enable = std::enable_if_t<std::is_convertible_v<I2, I>>
      |                                                         ^~~~~~~~~~~~~~~~
      |                                                         is_convertible
../boost/parser/detail/text/transcode_iterator.hpp:2556:78: error: template argument 1 is invalid
 2556 |                 typename Enable = std::enable_if_t<std::is_convertible_v<I2, I>>
      |                                                                              ^
../boost/parser/detail/text/transcode_iterator.hpp:2558:17: error: expected unqualified-id before '>' token
 2558 |                 >
      |                 ^
../boost/parser/detail/text/transcode_iterator.hpp:2563:35: error: expected unqualified-id before ',' token
 2563 |                 first{other.first}, curr{other.curr}
      |                                   ^
../boost/parser/detail/text/transcode_iterator.hpp:2564:13: error: expected unqualified-id before '{' token
 2564 |             {}
      |             ^
../boost/parser/detail/text/transcode_iterator.hpp:2639:55: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
 2639 |         constexpr static bool is_bidirectional = std::is_base_of_v<
      |                                                       ^~~~~~~~~~~~
      |                                                       is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:2640:44: error: expected primary-expression before ',' token
 2640 |             std::bidirectional_iterator_tag,
      |                                            ^
../boost/parser/detail/text/transcode_iterator.hpp:2643:49: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
 2643 |         constexpr static bool is_forward = std::is_base_of_v<
      |                                                 ^~~~~~~~~~~~
      |                                                 is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:2644:38: error: expected primary-expression before ',' token
 2644 |             std::forward_iterator_tag,
      |                                      ^
../boost/parser/detail/text/transcode_iterator.hpp:2699:22: error: 'is_convertible_v' is not a member of 'std'; did you mean 'is_convertible'?
 2699 |                 std::is_convertible_v<I2, I> && std::is_convertible_v<S2, S>>
      |                      ^~~~~~~~~~~~~~~~
      |                      is_convertible
../boost/parser/detail/text/transcode_iterator.hpp:2699:22: error: 'is_convertible_v' is not a member of 'std'; did you mean 'is_convertible'?
 2699 |                 std::is_convertible_v<I2, I> && std::is_convertible_v<S2, S>>
      |                      ^~~~~~~~~~~~~~~~
      |                      is_convertible
../boost/parser/detail/text/transcode_iterator.hpp:2699:44: error: template argument 1 is invalid
 2699 |                 std::is_convertible_v<I2, I> && std::is_convertible_v<S2, S>>
      |                                            ^
../boost/parser/detail/text/transcode_iterator.hpp:2699:46: error: expected '>' before '&&' token
 2699 |                 std::is_convertible_v<I2, I> && std::is_convertible_v<S2, S>>
      |                                              ^~
../boost/parser/detail/text/transcode_iterator.hpp:2701:13: error: expected unqualified-id before '>' token
 2701 |             >
      |             ^
../boost/parser/detail/text/transcode_iterator.hpp: In member function 'constexpr boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>& boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>::operator++()':
../boost/parser/detail/text/transcode_iterator.hpp:2753:20: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 2753 |                 if constexpr (
      |                    ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In function 'constexpr bool boost::parser::detail::text::operator==(std::enable_if_t<is_forward<I>, utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler> >, utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>)':
../boost/parser/detail/text/transcode_iterator.hpp:2801:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 2801 |             if constexpr (
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In function 'constexpr bool boost::parser::detail::text::operator==(utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>, S)':
../boost/parser/detail/text/transcode_iterator.hpp:2831:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 2831 |             if constexpr (
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In member function 'constexpr char32_t boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>::decode_code_point()':
../boost/parser/detail/text/transcode_iterator.hpp:2861:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 2861 |             if constexpr (FromFormat == format::utf8) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp:3052:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3052 |             } else if constexpr (FromFormat == format::utf16) {
      |                       ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In member function 'constexpr char32_t boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>::decode_code_point_reverse()':
../boost/parser/detail/text/transcode_iterator.hpp:3098:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3098 |             if constexpr (FromFormat == format::utf8) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp:3104:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3104 |             } else if constexpr (FromFormat == format::utf16) {
      |                       ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In static member function 'static constexpr Out boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>::encode_code_point(char32_t, Out)':
../boost/parser/detail/text/transcode_iterator.hpp:3137:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3137 |             if constexpr (ToFormat == format::utf8) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp:3153:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3153 |             } else if constexpr (ToFormat == format::utf16) {
      |                       ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In member function 'constexpr void boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>::read()':
../boost/parser/detail/text/transcode_iterator.hpp:3171:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3171 |             if constexpr (
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp:3180:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3180 |             if constexpr (noexcept(ErrorHandler{}(""))) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp:3202:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3202 |             if constexpr (
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In member function 'constexpr void boost::parser::detail::text::utf_iterator<FromFormat, ToFormat, I, S, ErrorHandler>::read_reverse()':
../boost/parser/detail/text/transcode_iterator.hpp:3216:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3216 |             if constexpr (noexcept(ErrorHandler{}(""))) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: At global scope:
../boost/parser/detail/text/transcode_iterator.hpp:3313:31: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
 3313 |         is_range_v<V> && std::is_same_v<iterator_t<V>, sentinel_t<V>>;
      |                               ^~~~~~~~~
      |                               is_same
../boost/parser/detail/text/transcode_iterator.hpp:3313:54: error: expected primary-expression before ',' token
 3313 |         is_range_v<V> && std::is_same_v<iterator_t<V>, sentinel_t<V>>;
      |                                                      ^
../boost/parser/detail/text/transcode_iterator.hpp:3313:54: error: expected ';' before ',' token
 3313 |         is_range_v<V> && std::is_same_v<iterator_t<V>, sentinel_t<V>>;
      |                                                      ^
      |                                                      ;
../boost/parser/detail/text/transcode_iterator.hpp:3315:58: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
 3315 |     constexpr bool input_range_v = is_range_v<V> && std::is_base_of_v<
      |                                                          ^~~~~~~~~~~~
      |                                                          is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:3316:32: error: expected primary-expression before ',' token
 3316 |         std::input_iterator_tag,
      |                                ^
../boost/parser/detail/text/transcode_iterator.hpp:3316:32: error: expected ';' before ',' token
 3316 |         std::input_iterator_tag,
      |                                ^
      |                                ;
../boost/parser/detail/text/transcode_iterator.hpp:3319:60: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
 3319 |     constexpr bool forward_range_v = is_range_v<V> && std::is_base_of_v<
      |                                                            ^~~~~~~~~~~~
      |                                                            is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:3320:34: error: expected primary-expression before ',' token
 3320 |         std::forward_iterator_tag,
      |                                  ^
../boost/parser/detail/text/transcode_iterator.hpp:3320:34: error: expected ';' before ',' token
 3320 |         std::forward_iterator_tag,
      |                                  ^
      |                                  ;
../boost/parser/detail/text/transcode_iterator.hpp:3323:66: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
 3323 |     constexpr bool bidirectional_range_v = is_range_v<V> && std::is_base_of_v<
      |                                                                  ^~~~~~~~~~~~
      |                                                                  is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:3324:40: error: expected primary-expression before ',' token
 3324 |         std::bidirectional_iterator_tag,
      |                                        ^
../boost/parser/detail/text/transcode_iterator.hpp:3324:40: error: expected ';' before ',' token
 3324 |         std::bidirectional_iterator_tag,
      |                                        ^
      |                                        ;
../boost/parser/detail/text/transcode_iterator.hpp:3327:51: error: 'is_default_constructible_v' is not a member of 'std'; did you mean 'is_default_constructible'?
 3327 |     constexpr bool default_initializable_v = std::is_default_constructible_v<T>;
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                   is_default_constructible
../boost/parser/detail/text/transcode_iterator.hpp:3327:79: error: expected primary-expression before '>' token
 3327 |     constexpr bool default_initializable_v = std::is_default_constructible_v<T>;
      |                                                                               ^
../boost/parser/detail/text/transcode_iterator.hpp:3327:80: error: expected primary-expression before ';' token
 3327 |     constexpr bool default_initializable_v = std::is_default_constructible_v<T>;
      |                                                                                ^
../boost/parser/detail/text/transcode_iterator.hpp:3337:34: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
 3337 |                             std::is_same_v<range_value_t<V>, wchar_t> ||
      |                                  ^~~~~~~~~
      |                                  is_same
../boost/parser/detail/text/transcode_iterator.hpp:3337:60: error: expected primary-expression before ',' token
 3337 |                             std::is_same_v<range_value_t<V>, wchar_t> ||
      |                                                            ^
../boost/parser/detail/text/transcode_iterator.hpp:3337:62: error: expected primary-expression before 'wchar_t'
 3337 |                             std::is_same_v<range_value_t<V>, wchar_t> ||
      |                                                              ^~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp:3337:61: error: expected ')' before 'wchar_t'
 3337 |                             std::is_same_v<range_value_t<V>, wchar_t> ||
      |                                                             ^~~~~~~~
      |                                                             )
../boost/parser/detail/text/transcode_iterator.hpp:3335:25: note: to match this '('
 3335 |                         (
      |                         ^
../boost/parser/detail/text/transcode_iterator.hpp:3344:52: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
 3344 |     constexpr bool random_access_iterator_v = std::is_base_of_v<
      |                                                    ^~~~~~~~~~~~
      |                                                    is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:3345:40: error: expected primary-expression before ',' token
 3345 |         std::random_access_iterator_tag,
      |                                        ^
../boost/parser/detail/text/transcode_iterator.hpp:3348:52: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
 3348 |     constexpr bool bidirectional_iterator_v = std::is_base_of_v<
      |                                                    ^~~~~~~~~~~~
      |                                                    is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:3349:40: error: expected primary-expression before ',' token
 3349 |         std::bidirectional_iterator_tag,
      |                                        ^
../boost/parser/detail/text/transcode_iterator.hpp:3352:46: error: 'is_base_of_v' is not a member of 'std'; did you mean 'is_base_of'?
 3352 |     constexpr bool forward_iterator_v = std::is_base_of_v<
      |                                              ^~~~~~~~~~~~
      |                                              is_base_of
../boost/parser/detail/text/transcode_iterator.hpp:3353:34: error: expected primary-expression before ',' token
 3353 |         std::forward_iterator_tag,
      |                                  ^
../boost/parser/detail/text/transcode_iterator.hpp: In member function 'constexpr auto boost::parser::detail::text::detail::first_last_storage<V, true, false>::end(boost::parser::detail::text::detail::iterator_t<T>&) const':
../boost/parser/detail/text/transcode_iterator.hpp:3409:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3409 |             if constexpr (
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In member function 'constexpr auto boost::parser::detail::text::detail::first_last_storage<V, false, true>::begin(boost::parser::detail::text::detail::iterator_t<T>&) const':
../boost/parser/detail/text/transcode_iterator.hpp:3441:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3441 |             if constexpr (is_utf_iter<iterator_t<V>>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In member function 'constexpr auto boost::parser::detail::text::detail::first_last_storage<V, false, false>::begin(boost::parser::detail::text::detail::iterator_t<T>&) const':
../boost/parser/detail/text/transcode_iterator.hpp:3459:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3459 |             if constexpr (is_utf_iter<iterator_t<V>>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In member function 'constexpr auto boost::parser::detail::text::detail::first_last_storage<V, false, false>::end(boost::parser::detail::text::detail::iterator_t<T>&) const':
../boost/parser/detail/text/transcode_iterator.hpp:3466:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3466 |             if constexpr (
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_iterator.hpp: In function 'constexpr auto boost::parser::detail::text::detail::uc_view_category()':
../boost/parser/detail/text/transcode_iterator.hpp:3483:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
 3483 |         if constexpr (common_range_v<V> && bidirectional_range_v<V>) {
      |            ^~~~~~~~~
In file included from ../boost/parser/detail/text/transcode_view.hpp:11:
../boost/parser/detail/text/detail/all_t.hpp: At global scope:
../boost/parser/detail/text/detail/all_t.hpp:49:15: error: 'is_array_v' is not a member of 'std'; did you mean 'is_array'?
   49 |         !std::is_array_v<std::remove_reference_t<R>> &&
      |               ^~~~~~~~~~
      |               is_array
../boost/parser/detail/text/detail/all_t.hpp:49:51: error: expected primary-expression before '>' token
   49 |         !std::is_array_v<std::remove_reference_t<R>> &&
      |                                                   ^~
../boost/parser/detail/text/detail/all_t.hpp:49:25: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
   49 |         !std::is_array_v<std::remove_reference_t<R>> &&
      |                         ^
../boost/parser/detail/text/detail/all_t.hpp:50:9: error: expected identifier before '!' token
   50 |         !is_std_array_v<std::remove_reference_t<R>>
      |         ^
../boost/parser/detail/text/detail/all_t.hpp:49:56: error: expected ';' before '!' token
   49 |         !std::is_array_v<std::remove_reference_t<R>> &&
      |                                                        ^
      |                                                        ;
   50 |         !is_std_array_v<std::remove_reference_t<R>>
      |         ~                                               
../boost/parser/detail/text/detail/all_t.hpp:56:62: error: 'is_object_v' is not a member of 'std'; did you mean 'is_object'?
   56 |         typename Enable = std::enable_if_t<range_<R> && std::is_object_v<R>>>
      |                                                              ^~~~~~~~~~~
      |                                                              is_object
../boost/parser/detail/text/detail/all_t.hpp:56:32: error: parse error in template argument list
   56 |         typename Enable = std::enable_if_t<range_<R> && std::is_object_v<R>>>
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/parser/detail/text/detail/all_t.hpp:56:77: error: expected unqualified-id before '>' token
   56 |         typename Enable = std::enable_if_t<range_<R> && std::is_object_v<R>>>
      |                                                                             ^
../boost/parser/detail/text/detail/all_t.hpp:86:22: error: 'ref_view' does not name a type
   86 |     ref_view(R &) -> ref_view<R>;
      |                      ^~~~~~~~
../boost/parser/detail/text/detail/all_t.hpp:86:30: error: expected constructor, destructor, or type conversion before '<' token
   86 |     ref_view(R &) -> ref_view<R>;
      |                              ^
../boost/parser/detail/text/detail/all_t.hpp: In member function 'constexpr auto boost::parser::detail::text::detail::all_impl::operator()(R&&) const':
../boost/parser/detail/text/detail/all_t.hpp:123:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  123 |             if constexpr (view<T>)
      |                ^~~~~~~~~
../boost/parser/detail/text/detail/all_t.hpp:125:21: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  125 |             else if constexpr (can_ref_view<R>)
      |                     ^~~~~~~~~
In file included from ../boost/parser/detail/text/transcode_view.hpp:14:
../boost/parser/detail/stl_interfaces/view_adaptor.hpp: In function 'auto boost::parser::detail::stl_interfaces::detail::array_to_range(CharT (&)[N])':
../boost/parser/detail/stl_interfaces/view_adaptor.hpp:77:41: error: missing template arguments before '(' token
   77 |             return BOOST_PARSER_SUBRANGE(first, last);
      |                                         ^
../boost/parser/detail/text/transcode_view.hpp: In function 'constexpr auto boost::parser::detail::text::detail::iterator_to_tag()':
../boost/parser/detail/text/transcode_view.hpp:32:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   32 |             if constexpr (detail::random_access_iterator_v<I>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:34:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   34 |             } else if constexpr (detail::bidirectional_iterator_v<I>) {
      |                       ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:36:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   36 |             } else if constexpr (detail::forward_iterator_v<I>) {
      |                       ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp: In function 'auto boost::parser::detail::text::detail::function_for_tag(Arg)':
../boost/parser/detail/text/transcode_view.hpp:70:20: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   70 |                 if constexpr (std::is_same_v<Tag, cast_to_char16>) {
      |                    ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:70:36: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
   70 |                 if constexpr (std::is_same_v<Tag, cast_to_char16>) {
      |                                    ^~~~~~~~~
      |                                    is_same
../boost/parser/detail/text/transcode_view.hpp:70:49: error: expected primary-expression before ',' token
   70 |                 if constexpr (std::is_same_v<Tag, cast_to_char16>) {
      |                                                 ^
../boost/parser/detail/text/transcode_view.hpp:70:65: error: expected primary-expression before '>' token
   70 |                 if constexpr (std::is_same_v<Tag, cast_to_char16>) {
      |                                                                 ^
../boost/parser/detail/text/transcode_view.hpp:70:66: error: expected primary-expression before ')' token
   70 |                 if constexpr (std::is_same_v<Tag, cast_to_char16>) {
      |                                                                  ^
../boost/parser/detail/text/transcode_view.hpp:72:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   72 |             } else if constexpr (std::is_same_v<Tag, cast_to_char32>) {
      |                       ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:72:39: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
   72 |             } else if constexpr (std::is_same_v<Tag, cast_to_char32>) {
      |                                       ^~~~~~~~~
      |                                       is_same
../boost/parser/detail/text/transcode_view.hpp:72:52: error: expected primary-expression before ',' token
   72 |             } else if constexpr (std::is_same_v<Tag, cast_to_char32>) {
      |                                                    ^
../boost/parser/detail/text/transcode_view.hpp:72:68: error: expected primary-expression before '>' token
   72 |             } else if constexpr (std::is_same_v<Tag, cast_to_char32>) {
      |                                                                    ^
../boost/parser/detail/text/transcode_view.hpp:72:69: error: expected primary-expression before ')' token
   72 |             } else if constexpr (std::is_same_v<Tag, cast_to_char32>) {
      |                                                                     ^
../boost/parser/detail/text/transcode_view.hpp: In member function 'constexpr auto boost::parser::detail::text::detail::as_charn_impl<View, Format>::operator()(R&&) const':
../boost/parser/detail/text/transcode_view.hpp:399:20: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  399 |                 if constexpr (detail::is_empty_view<T>) {
      |                    ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:406:32: error: missing template arguments before '(' token
  406 |                     return View(std::forward<R>(r));
      |                                ^
../boost/parser/detail/text/transcode_view.hpp: At global scope:
../boost/parser/detail/text/transcode_view.hpp:426:5: warning: inline variables are only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  426 |     inline constexpr detail::as_charn_impl<char16_view, format::utf16> as_char16_t;
      |     ^~~~~~
../boost/parser/detail/text/transcode_view.hpp:427:5: warning: inline variables are only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  427 |     inline constexpr detail::as_charn_impl<char32_view, format::utf32> as_char32_t;
      |     ^~~~~~
../boost/parser/detail/text/transcode_view.hpp: In member function 'constexpr auto boost::parser::detail::text::unpacking_view<V>::code_units() const':
../boost/parser/detail/text/transcode_view.hpp:456:49: error: missing template arguments before '(' token
  456 |         return BOOST_PARSER_DETAIL_TEXT_SUBRANGE(unpacked.first, unpacked.last);
      |                                                 ^
../boost/parser/detail/text/transcode_view.hpp: At global scope:
../boost/parser/detail/text/transcode_view.hpp:467:61: error: expected constructor, destructor, or type conversion before ';' token
  467 |     unpacking_view(R &&) -> unpacking_view<detail::all_t<R>>;
      |                                                             ^
../boost/parser/detail/text/transcode_view.hpp: In static member function 'static constexpr auto boost::parser::detail::text::utf_view<Format, V>::make_begin(I, S)':
../boost/parser/detail/text/transcode_view.hpp:483:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  483 |             if constexpr (detail::bidirectional_iterator_v<I>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp: In static member function 'static constexpr auto boost::parser::detail::text::utf_view<Format, V>::make_end(I, S)':
../boost/parser/detail/text/transcode_view.hpp:492:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  492 |             if constexpr (!std::is_same_v<I, S>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:492:33: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
  492 |             if constexpr (!std::is_same_v<I, S>) {
      |                                 ^~~~~~~~~
      |                                 is_same
../boost/parser/detail/text/transcode_view.hpp:492:44: error: expected primary-expression before ',' token
  492 |             if constexpr (!std::is_same_v<I, S>) {
      |                                            ^
../boost/parser/detail/text/transcode_view.hpp:492:42: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
  492 |             if constexpr (!std::is_same_v<I, S>) {
      |                                          ^
../boost/parser/detail/text/transcode_view.hpp:492:47: error: expected primary-expression before '>' token
  492 |             if constexpr (!std::is_same_v<I, S>) {
      |                                               ^
../boost/parser/detail/text/transcode_view.hpp:492:48: error: expected primary-expression before ')' token
  492 |             if constexpr (!std::is_same_v<I, S>) {
      |                                                ^
../boost/parser/detail/text/transcode_view.hpp:494:23: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  494 |             } else if constexpr (detail::bidirectional_iterator_v<I>) {
      |                       ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp: In member function 'constexpr auto boost::parser::detail::text::utf_view<Format, V>::begin()':
../boost/parser/detail/text/transcode_view.hpp:517:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  517 |             if constexpr(detail::is_charn_view<V>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp: In member function 'constexpr auto boost::parser::detail::text::utf_view<Format, V>::begin() const':
../boost/parser/detail/text/transcode_view.hpp:526:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  526 |             if constexpr(detail::is_charn_view<V>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp: In member function 'constexpr auto boost::parser::detail::text::utf_view<Format, V>::end()':
../boost/parser/detail/text/transcode_view.hpp:536:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  536 |             if constexpr(detail::is_charn_view<V>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp: In member function 'constexpr auto boost::parser::detail::text::utf_view<Format, V>::end() const':
../boost/parser/detail/text/transcode_view.hpp:545:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  545 |             if constexpr(detail::is_charn_view<V>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp: In function 'std::ostream& boost::parser::detail::text::operator<<(std::ostream&, utf_view<Format, V>)':
../boost/parser/detail/text/transcode_view.hpp:556:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  556 |             if constexpr (Format == format::utf8) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp: At global scope:
../boost/parser/detail/text/transcode_view.hpp:643:51: error: expected constructor, destructor, or type conversion before ';' token
  643 |     utf8_view(R &&) -> utf8_view<detail::all_t<R>>;
      |                                                   ^
../boost/parser/detail/text/transcode_view.hpp:645:53: error: expected constructor, destructor, or type conversion before ';' token
  645 |     utf16_view(R &&) -> utf16_view<detail::all_t<R>>;
      |                                                     ^
../boost/parser/detail/text/transcode_view.hpp:647:53: error: expected constructor, destructor, or type conversion before ';' token
  647 |     utf32_view(R &&) -> utf32_view<detail::all_t<R>>;
      |                                                     ^
../boost/parser/detail/text/transcode_view.hpp: In function 'constexpr decltype(auto) boost::parser::detail::text::detail::unpack_range(R&&)':
../boost/parser/detail/text/transcode_view.hpp:694:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  694 |             if constexpr (forward_range_v<T>) {
      |                ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:697:20: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  697 |                 if constexpr (is_bounded_array_v<T>) {
      |                    ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:698:45: error: 'extent_v' is not a member of 'std'; did you mean 'extent'?
  698 |                     constexpr auto n = std::extent_v<T>;
      |                                             ^~~~~~~~
      |                                             extent
../boost/parser/detail/text/transcode_view.hpp:698:55: error: expected primary-expression before '>' token
  698 |                     constexpr auto n = std::extent_v<T>;
      |                                                       ^
../boost/parser/detail/text/transcode_view.hpp:698:56: error: expected primary-expression before ';' token
  698 |                     constexpr auto n = std::extent_v<T>;
      |                                                        ^
../boost/parser/detail/text/transcode_view.hpp:701:61: error: missing template arguments before '(' token
  701 |                     return BOOST_PARSER_DETAIL_TEXT_SUBRANGE(unpacked.first, unpacked.last);
      |                                                             ^
../boost/parser/detail/text/transcode_view.hpp:702:27: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  702 |                 } else if constexpr (
      |                           ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:703:27: error: 'is_same_v' is not a member of 'std'; did you mean 'is_same'?
  703 |                     !std::is_same_v<decltype(unpacked.first), iterator_t<R>> ||
      |                           ^~~~~~~~~
      |                           is_same
../boost/parser/detail/text/transcode_view.hpp:703:37: error: expected primary-expression before 'decltype'
  703 |                     !std::is_same_v<decltype(unpacked.first), iterator_t<R>> ||
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:703:36: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
  703 |                     !std::is_same_v<decltype(unpacked.first), iterator_t<R>> ||
      |                                    ^
../boost/parser/detail/text/transcode_view.hpp:703:37: error: expected ')' before 'decltype'
  703 |                     !std::is_same_v<decltype(unpacked.first), iterator_t<R>> ||
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                     )
../boost/parser/detail/text/transcode_view.hpp:702:37: note: to match this '('
  702 |                 } else if constexpr (
      |                                     ^
../boost/parser/detail/text/transcode_view.hpp:705:42: error: missing template arguments before '(' token
  705 |                     return unpacking_view(std::forward<R>(r));
      |                                          ^
../boost/parser/detail/text/transcode_view.hpp: In member function 'constexpr auto boost::parser::detail::text::detail::as_utf_impl<View, Format>::operator()(R&&) const':
../boost/parser/detail/text/transcode_view.hpp:731:20: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  731 |                 if constexpr (detail::is_empty_view<T>) {
      |                    ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:737:27: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  737 |                 } else if constexpr (is_utf_view<T>) {
      |                           ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:738:32: error: missing template arguments before '(' token
  738 |                     return View(std::forward<R>(r).base());
      |                                ^
../boost/parser/detail/text/transcode_view.hpp:739:27: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  739 |                 } else if constexpr (detail::is_charn_view<T>) {
      |                           ^~~~~~~~~
../boost/parser/detail/text/transcode_view.hpp:740:32: error: missing template arguments before '(' token
  740 |                     return View(std::forward<R>(r));
      |                                ^
../boost/parser/detail/text/transcode_view.hpp:742:32: error: missing template arguments before '(' token
  742 |                     return View(detail::unpack_range(std::forward<R>(r)));
      |                                ^
../boost/parser/detail/text/transcode_view.hpp: At global scope:
../boost/parser/detail/text/transcode_view.hpp:753:5: warning: inline variables are only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  753 |     inline constexpr detail::as_utf_impl<utf8_view, format::utf8> as_utf8;
      |     ^~~~~~
../boost/parser/detail/text/transcode_view.hpp:754:5: warning: inline variables are only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  754 |     inline constexpr detail::as_utf_impl<utf16_view, format::utf16> as_utf16;
      |     ^~~~~~
../boost/parser/detail/text/transcode_view.hpp:755:5: warning: inline variables are only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  755 |     inline constexpr detail::as_utf_impl<utf32_view, format::utf32> as_utf32;
      |     ^~~~~~
../boost/parser/error_handling_fwd.hpp:49:14: error: 'std::string_view' has not been declared
   49 |         std::string_view filename,
      |              ^~~~~~~~~~~
../boost/parser/error_handling_fwd.hpp:53:14: error: 'std::string_view' has not been declared
   53 |         std::string_view message,
      |              ^~~~~~~~~~~
../boost/parser/error_handling_fwd.hpp:77:14: error: 'std::string_view' has not been declared
   77 |         std::string_view filename,
      |              ^~~~~~~~~~~
../boost/parser/error_handling_fwd.hpp:127:18: error: 'std::string_view' has not been declared
  127 |             std::string_view message,
      |                  ^~~~~~~~~~~
../boost/parser/error_handling_fwd.hpp:139:18: error: 'std::string_view' has not been declared
  139 |             std::string_view message,
      |                  ^~~~~~~~~~~
../boost/parser/error_handling_fwd.hpp:150:46: error: expected ')' before 'filename'
  150 |         stream_error_handler(std::string_view filename) :
      |                             ~                ^~~~~~~~~
      |                                              )
../boost/parser/error_handling_fwd.hpp:153:46: error: expected ')' before 'filename'
  153 |         stream_error_handler(std::string_view filename, std::ostream & errors) :
      |                             ~                ^~~~~~~~~
      |                                              )
../boost/parser/error_handling_fwd.hpp:157:29: error: expected ')' before 'filename'
  157 |             std::string_view filename,
      |                             ^~~~~~~~~
      |                             )
../boost/parser/error_handling_fwd.hpp:156:29: note: to match this '('
  156 |         stream_error_handler(
      |                             ^
../boost/parser/error_handling_fwd.hpp:207:18: error: 'std::string_view' has not been declared
  207 |             std::string_view message,
      |                  ^~~~~~~~~~~
../boost/parser/error_handling_fwd.hpp:219:18: error: 'std::string_view' has not been declared
  219 |             std::string_view message,
      |                  ^~~~~~~~~~~
../boost/parser/parser_fwd.hpp:43:41: error: 'optional' is not a member of 'std'
   43 |     constexpr bool enable_optional<std::optional<T>> = true;
      |                                         ^~~~~~~~
../boost/parser/parser_fwd.hpp:43:41: note: 'std::optional' is only available from C++17 onwards
../boost/parser/parser_fwd.hpp:43:41: error: 'optional' is not a member of 'std'
../boost/parser/parser_fwd.hpp:43:41: note: 'std::optional' is only available from C++17 onwards
../boost/parser/parser_fwd.hpp:43:20: error: parse error in template argument list
   43 |     constexpr bool enable_optional<std::optional<T>> = true;
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/parser/parser_fwd.hpp:43:51: error: expected initializer before '>' token
   43 |     constexpr bool enable_optional<std::optional<T>> = true;
      |                                                   ^~
../boost/parser/parser_fwd.hpp:45:40: error: 'variant' is not a member of 'std'
   45 |     constexpr bool enable_variant<std::variant<Ts...>> = true;
      |                                        ^~~~~~~
../boost/parser/parser_fwd.hpp:45:40: note: 'std::variant' is only available from C++17 onwards
../boost/parser/parser_fwd.hpp:45:40: error: 'variant' is not a member of 'std'
../boost/parser/parser_fwd.hpp:45:40: note: 'std::variant' is only available from C++17 onwards
../boost/parser/parser_fwd.hpp:45:50: error: expected parameter pack before '...'
   45 |     constexpr bool enable_variant<std::variant<Ts...>> = true;
      |                                                  ^~~
../boost/parser/parser_fwd.hpp:45:20: error: parse error in template argument list
   45 |     constexpr bool enable_variant<std::variant<Ts...>> = true;
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/parser/parser_fwd.hpp:45:53: error: expected initializer before '>' token
   45 |     constexpr bool enable_variant<std::variant<Ts...>> = true;
      |                                                     ^~
../boost/parser/parser_fwd.hpp: In function 'constexpr auto boost::parser::null_term(CharT*)':
../boost/parser/parser_fwd.hpp:68:37: error: missing template arguments before '(' token
   68 |         return BOOST_PARSER_SUBRANGE(ptr, detail::text::null_sentinel);
      |                                     ^
../boost/parser/parser_fwd.hpp: At global scope:
../boost/parser/parser_fwd.hpp:86:18: error: 'any' in namespace 'std' does not name a type
   86 |             std::any trie_;
      |                  ^~~
../boost/parser/parser_fwd.hpp:86:13: note: 'std::any' is only available from C++17 onwards
   86 |             std::any trie_;
      |             ^~~
../boost/parser/parser_fwd.hpp:99:18: error: 'any' in namespace 'std' does not name a type
   99 |             std::any ops_;
      |                  ^~~
../boost/parser/parser_fwd.hpp:99:13: note: 'std::any' is only available from C++17 onwards
   99 |             std::any ops_;
      |             ^~~
../boost/parser/parser_fwd.hpp:344:5: warning: inline variables are only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  344 |     inline constexpr sorted_t sorted;
      |     ^~~~~~
../boost/parser/parser_fwd.hpp:551:39: error: 'std::string_view' has not been declared
  551 |         Context const & context, std::string_view message, I location);
      |                                       ^~~~~~~~~~~
../boost/parser/parser_fwd.hpp:556:54: error: 'std::string_view' has not been declared
  556 |     void _report_error(Context const & context, std::string_view message);
      |                                                      ^~~~~~~~~~~
../boost/parser/parser_fwd.hpp:566:39: error: 'std::string_view' has not been declared
  566 |         Context const & context, std::string_view message, I location);
      |                                       ^~~~~~~~~~~
../boost/parser/parser_fwd.hpp:571:56: error: 'std::string_view' has not been declared
  571 |     void _report_warning(Context const & context, std::string_view message);
      |                                                        ^~~~~~~~~~~
In file included from ../boost/parser/detail/printing.hpp:5,
                 from ../boost/parser/error_handling.hpp:5,
                 from ../boost/parser/parser.hpp:11:
../boost/parser/tuple.hpp: In function 'constexpr long long int boost::parser::detail::parse_llong(const char (&)[N])':
../boost/parser/tuple.hpp:59:16: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   59 |             if constexpr (N > 2) {
      |                ^~~~~~~~~
../boost/parser/tuple.hpp: In function 'constexpr int boost::parser::detail::struct_arity_impl(std::integer_sequence<int, Is ...>)':
../boost/parser/tuple.hpp:214:23: warning: fold-expressions only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
  214 |                 ... + 0);
      |                       ^
../boost/parser/tuple.hpp: In function 'constexpr auto boost::parser::detail::tie_aggregate(T&)':
../boost/parser/tuple.hpp:275:33: error: 'is_union_v' is not a member of 'std'; did you mean 'is_union'?
  275 |             static_assert(!std::is_union_v<T>);
      |                                 ^~~~~~~~~~
      |                                 is_union
../boost/parser/tuple.hpp:275:45: error: expected primary-expression before '>' token
  275 |             static_assert(!std::is_union_v<T>);
      |                                             ^
../boost/parser/tuple.hpp:275:43: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
  275 |             static_assert(!std::is_union_v<T>);
      |                                           ^
../boost/parser/tuple.hpp:275:46: error: expected primary-expression before ')' token
  275 |             static_assert(!std::is_union_v<T>);
      |                                              ^
../boost/parser/tuple.hpp: At global scope:
../boost/parser/tuple.hpp:286:23: warning: fold-expressions only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-...

[The content has been trimmed by the report system because it exceeds 65536 bytes]