#1837

gcc14 compile fails immediately

OpenVictorEijkhoutopened 2y ago
[  0%] Building CXX object test/CMakeFiles/range.v3.constexpr_core.dir/constexpr_core.cpp.o
cd /work/00434/eijkhout/rangev3/build-0.12.0-vista-gcc14/test && /opt/apps/gcc/14.2.0/bin/g++  -I/work/00434/eijkhout/rangev3/rangev3-0.12.0/include -O3 -DNDEBUG -fno-diagnostics-color -std=c++14 -Wall -Wextra -Werror -fdiagnostics-show-template-tree -ftemplate-backtrace-limit=0 -fomit-frame-pointer -Ofast -fstrict-aliasing -ffast-math -fsized-deallocation -march=native -mtune=native -DRANGES_CXX_ALIGNED_NEW=0 -fconcepts -pedantic -pedantic-errors -Wno-padded -Wno-old-style-cast -Wno-noexcept-type -MD -MT test/CMakeFiles/range.v3.constexpr_core.dir/constexpr_core.cpp.o -MF CMakeFiles/range.v3.constexpr_core.dir/constexpr_core.cpp.o.d -o CMakeFiles/range.v3.constexpr_core.dir/constexpr_core.cpp.o -c /work/00434/eijkhout/rangev3/rangev3-0.12.0/test/constexpr_core.cpp
In file included from /work/00434/eijkhout/rangev3/rangev3-0.12.0/include/meta/meta_fwd.hpp:18,
                 from /work/00434/eijkhout/rangev3/rangev3-0.12.0/include/range/v3/detail/config.hpp:67,
                 from /work/00434/eijkhout/rangev3/rangev3-0.12.0/test/config.cpp:12:
/opt/apps/gcc/14.2.0/include/c++/14.2.0/type_traits:2575:12: error: template parameters not deducible in partial specialization:
 2575 |     struct __result_of_memobj<_Res _Class::*, _Arg>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/apps/gcc/14.2.0/include/c++/14.2.0/type_traits:2575:12: note:         ‘_Class’
/opt/apps/gcc/14.2.0/include/c++/14.2.0/type_traits:2590:12: error: template parameters not deducible in partial specialization:
 2590 |     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/apps/gcc/14.2.0/include/c++/14.2.0/type_traits:2590:12: note:         ‘_Class’
/work/00434/eijkhout/rangev3/rangev3-0.12.0/include/meta/meta_fwd.hpp:351:40: error: expected type-name before ‘invocable’
  351 |         template <META_TYPE_CONSTRAINT(invocable) F, typename L>
      |                                        ^~~~~~~~~
/work/00434/eijkhout/rangev3/rangev3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro ‘META_TYPE_CONSTRAINT’
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/work/00434/eijkhout/rangev3/rangev3-0.12.0/include/meta/meta_fwd.hpp:351:40: error: ISO C++ forbids declaration of ‘invocable’ with no type [-fpermissive]
  351 |         template <META_TYPE_CONSTRAINT(invocable) F, typename L>
      |                                        ^~~~~~~~~
/work/00434/eijkhout/rangev3/rangev3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro ‘META_TYPE_CONSTRAINT’
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/work/00434/eijkhout/rangev3/rangev3-0.12.0/include/meta/meta_fwd.hpp:351:51: error: expected ‘>’ before ‘F’
  351 |         template <META_TYPE_CONSTRAINT(invocable) F, typename L>
      |                                                   ^
make[3]: *** [test/CMakeFiles/range.v3.config.dir/build.make:79: test/CMakeFiles/range.v3.config.dir/config.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:1617: test/CMakeFiles/range.v3.config.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....

Activity

4
barracuda1561y ago

Same on macOS, it breaks down immediately:

[  2%] Building CXX object test/CMakeFiles/range.v3.bug1322.dir/bug1322.cpp.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/build/test && /opt/local/bin/ccache /opt/local/bin/g++-mp-14  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -O3 -DNDEBUG -mmacosx-version-min=10.6 -std=c++14 -Wall -Wextra -fdiagnostics-show-template-tree -ftemplate-backtrace-limit=0 -fomit-frame-pointer -Ofast -fstrict-aliasing -ffast-math -mtune=native -DRANGES_CXX_ALIGNED_NEW=0 -fconcepts -pedantic -pedantic-errors -Wno-padded -Wno-old-style-cast -Wno-noexcept-type -MD -MT test/CMakeFiles/range.v3.bug1322.dir/bug1322.cpp.o -MF CMakeFiles/range.v3.bug1322.dir/bug1322.cpp.o.d -o CMakeFiles/range.v3.bug1322.dir/bug1322.cpp.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/test/bug1322.cpp
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:18,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/range/v3/detail/config.hpp:67,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/test/config.cpp:12:
/opt/local/include/gcc14/c++/type_traits:2575:12: error: template parameters not deducible in partial specialization:
 2575 |     struct __result_of_memobj<_Res _Class::*, _Arg>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc14/c++/type_traits:2575:12: note:         '_Class'
/opt/local/include/gcc14/c++/type_traits:2590:12: error: template parameters not deducible in partial specialization:
 2590 |     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc14/c++/type_traits:2590:12: note:         '_Class'
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:351:40: error: expected type-name before 'invocable'
  351 |         template <META_TYPE_CONSTRAINT(invocable) F, typename L>
      |                                        ^~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:351:40: error: ISO C++ forbids declaration of 'invocable' with no type [-fpermissive]
  351 |         template <META_TYPE_CONSTRAINT(invocable) F, typename L>
      |                                        ^~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:351:51: error: expected '>' before 'F'
  351 |         template <META_TYPE_CONSTRAINT(invocable) F, typename L>
      |                                                   ^
make[2]: *** [test/CMakeFiles/range.v3.config.dir/config.cpp.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/build'
make[1]: *** [test/CMakeFiles/range.v3.config.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  2%] Building CXX object test/CMakeFiles/range.v3.multiple.dir/multiple2.cpp.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/build/test && /opt/local/bin/ccache /opt/local/bin/g++-mp-14  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -O3 -DNDEBUG -mmacosx-version-min=10.6 -std=c++14 -Wall -Wextra -fdiagnostics-show-template-tree -ftemplate-backtrace-limit=0 -fomit-frame-pointer -Ofast -fstrict-aliasing -ffast-math -mtune=native -DRANGES_CXX_ALIGNED_NEW=0 -fconcepts -pedantic -pedantic-errors -Wno-padded -Wno-old-style-cast -Wno-noexcept-type -MD -MT test/CMakeFiles/range.v3.multiple.dir/multiple2.cpp.o -MF CMakeFiles/range.v3.multiple.dir/multiple2.cpp.o.d -o CMakeFiles/range.v3.multiple.dir/multiple2.cpp.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/test/multiple2.cpp
In file included from /opt/local/include/gcc14/c++/bits/stl_pair.h:60,
                 from /opt/local/include/gcc14/c++/utility:69,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/concepts/concepts.hpp:25,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/test/bug1322.cpp:1:
/opt/local/include/gcc14/c++/type_traits:2575:12: error: template parameters not deducible in partial specialization:
 2575 |     struct __result_of_memobj<_Res _Class::*, _Arg>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc14/c++/type_traits:2575:12: note:         '_Class'
/opt/local/include/gcc14/c++/type_traits:2590:12: error: template parameters not deducible in partial specialization:
 2590 |     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc14/c++/type_traits:2590:12: note:         '_Class'
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:20,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/concepts/swap.hpp:19,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/concepts/concepts.hpp:27:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:351:40: error: expected type-name before 'invocable'
  351 |         template <META_TYPE_CONSTRAINT(invocable) F, typename L>
      |                                        ^~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:351:40: error: ISO C++ forbids declaration of 'invocable' with no type [-fpermissive]
  351 |         template <META_TYPE_CONSTRAINT(invocable) F, typename L>
      |                                        ^~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:351:51: error: expected '>' before 'F'
  351 |         template <META_TYPE_CONSTRAINT(invocable) F, typename L>
      |                                                   ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:140:36: error: expected type-name before 'trait'
  140 |     template <META_TYPE_CONSTRAINT(trait) T>
      |                                    ^~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:140:36: error: ISO C++ forbids declaration of 'trait' with no type [-fpermissive]
  140 |     template <META_TYPE_CONSTRAINT(trait) T>
      |                                    ^~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:140:43: error: expected '>' before 'T'
  140 |     template <META_TYPE_CONSTRAINT(trait) T>
      |                                           ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:141:25: error: 'T' has not been declared
  141 |     using _t = typename T::type;
      |                         ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:147:36: error: expected type-name before 'integral'
  147 |     template <META_TYPE_CONSTRAINT(integral) T>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:147:36: error: ISO C++ forbids declaration of 'integral' with no type [-fpermissive]
  147 |     template <META_TYPE_CONSTRAINT(integral) T>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:147:46: error: expected '>' before 'T'
  147 |     template <META_TYPE_CONSTRAINT(integral) T>
      |                                              ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:148:24: error: 'T' has not been declared
  148 |     constexpr typename T::type::value_type _v = T::type::value;
      |                        ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:148:49: error: 'T' has not been declared
  148 |     constexpr typename T::type::value_type _v = T::type::value;
      |                                                 ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:157:26: error: '_t' was not declared in this scope; did you mean '_v'?
  157 |         using _t = defer<_t, T>;
      |                          ^~
      |                          _v
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:157:31: error: template argument 1 is invalid
  157 |         using _t = defer<_t, T>;
      |                               ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:184:36: error: expected type-name before 'integral'
  184 |     template <META_TYPE_CONSTRAINT(integral) T>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:184:36: error: ISO C++ forbids declaration of 'integral' with no type [-fpermissive]
  184 |     template <META_TYPE_CONSTRAINT(integral) T>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:184:46: error: expected '>' before 'T'
  184 |     template <META_TYPE_CONSTRAINT(integral) T>
      |                                              ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:185:49: error: 'T' was not declared in this scope
  185 |     using inc = std::integral_constant<decltype(T::type::value + 1), T::type::value + 1>;
      |                                                 ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:185:49: error: 'T' has not been declared
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:185:70: error: 'T' was not declared in this scope
  185 |     using inc = std::integral_constant<decltype(T::type::value + 1), T::type::value + 1>;
      |                                                                      ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:185:88: error: template argument 1 is invalid
  185 |     using inc = std::integral_constant<decltype(T::type::value + 1), T::type::value + 1>;
      |                                                                                        ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:185:88: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:189:36: error: expected type-name before 'integral'
  189 |     template <META_TYPE_CONSTRAINT(integral) T>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:189:36: error: ISO C++ forbids declaration of 'integral' with no type [-fpermissive]
  189 |     template <META_TYPE_CONSTRAINT(integral) T>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:189:46: error: expected '>' before 'T'
  189 |     template <META_TYPE_CONSTRAINT(integral) T>
      |                                              ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:190:49: error: 'T' was not declared in this scope
  190 |     using dec = std::integral_constant<decltype(T::type::value - 1), T::type::value - 1>;
      |                                                 ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:190:49: error: 'T' has not been declared
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:190:70: error: 'T' was not declared in this scope
  190 |     using dec = std::integral_constant<decltype(T::type::value - 1), T::type::value - 1>;
      |                                                                      ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:190:88: error: template argument 1 is invalid
  190 |     using dec = std::integral_constant<decltype(T::type::value - 1), T::type::value - 1>;
      |                                                                                        ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:190:88: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:195:36: error: expected type-name before 'integral'
  195 |     template <META_TYPE_CONSTRAINT(integral) T, META_TYPE_CONSTRAINT(integral) U>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:195:36: error: ISO C++ forbids declaration of 'integral' with no type [-fpermissive]
  195 |     template <META_TYPE_CONSTRAINT(integral) T, META_TYPE_CONSTRAINT(integral) U>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:195:46: error: expected '>' before 'T'
  195 |     template <META_TYPE_CONSTRAINT(integral) T, META_TYPE_CONSTRAINT(integral) U>
      |                                              ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:196:50: error: 'T' was not declared in this scope
  196 |     using plus = std::integral_constant<decltype(T::type::value + U::type::value),
      |                                                  ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:196:50: error: 'T' has not been declared
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:196:67: error: 'U' has not been declared
  196 |     using plus = std::integral_constant<decltype(T::type::value + U::type::value),
      |                                                                   ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:197:41: error: 'T' was not declared in this scope
  197 |                                         T::type::value + U::type::value>;
      |                                         ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:197:72: error: template argument 1 is invalid
  197 |                                         T::type::value + U::type::value>;
      |                                                                        ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:197:72: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:202:36: error: expected type-name before 'integral'
  202 |     template <META_TYPE_CONSTRAINT(integral) T, META_TYPE_CONSTRAINT(integral) U>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:202:36: error: ISO C++ forbids declaration of 'integral' with no type [-fpermissive]
  202 |     template <META_TYPE_CONSTRAINT(integral) T, META_TYPE_CONSTRAINT(integral) U>
      |                                    ^~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta_fwd.hpp:155:35: note: in definition of macro 'META_TYPE_CONSTRAINT'
  155 | #define META_TYPE_CONSTRAINT(...) __VA_ARGS__
      |                                   ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:202:46: error: expected '>' before 'T'
  202 |     template <META_TYPE_CONSTRAINT(integral) T, META_TYPE_CONSTRAINT(integral) U>
      |                                              ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:203:51: error: 'T' was not declared in this scope
  203 |     using minus = std::integral_constant<decltype(T::type::value - U::type::value),
      |                                                   ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:203:51: error: 'T' has not been declared
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:203:68: error: 'U' has not been declared
  203 |     using minus = std::integral_constant<decltype(T::type::value - U::type::value),
      |                                                                    ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:204:45: error: 'T' was not declared in this scope
  204 |                                             T::type::value - U::type::value>;
      |                                             ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:204:76: error: template argument 1 is invalid
  204 |                                             T::type::value - U::type::value>;
      |                                                                            ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:204:76: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_range-v3/range-v3/work/range-v3-0.12.0/include/meta/meta.hpp:209:36: error: expected type-name before 'integral'
  209 |     template <META_TYPE_CONSTRAINT(integral) T, META_TYPE_CONSTRAINT(integral) U>
      |                                    ^~~~~~~~
...
barracuda1561y ago

Any update on this? It is still broken with gcc 14.2.0.

wermos1y ago

I'm unable to reproduce the build failure on my end. Can you give me step-by-step instructions to reproduce? Like, what CMake options and commands did you run, etc.

I tried compiling with GCC 14.2.0 on Ubuntu 24.10 and it worked, the library was built successfully, and all the tests passed.

I used these options:

-DRANGES_VERBOSE_BUILD=ON
-DRANGE_V3_EXAMPLES=ON
-DRANGE_V3_TESTS=ON
-DRANGES_BUILD_CALENDAR_EXAMPLE=OFF

(Here's the list of commands that I ran: cmake -S. -Bbuild -DRANGES_VERBOSE_BUILD=ON -DRANGE_V3_EXAMPLES=ON -DRANGE_V3_TESTS=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DRANGES_BUILD_CALENDAR_EXAMPLE=OFF and then cmake --build build --parallel and then cd ./build/test && ctest.)

wvalcke1y ago

Linux mint 22, used compiler g++-14 (version 14.2.0). It does not compile. using the g++13 (13.3.0) it compiles fine.