https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105767
Bug ID: 105767 Summary: gcc 12.1 ICE but not with 11.2 compiling boost Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: deco33000 at yandex dot com Target Milestone: --- Hi, Compiling with the boost/geometry.hpp header, using gcc 12.1, I get the following issue: ``` [proc] Executing command: /snap/cmake/current/bin/cmake --build custom_path/build --config Debug --target path_sim -- [build] [1/2 50% :: 50.754] Building CXX object CMakeFiles/path_sim.dir/src/files.cpp.o [build] FAILED: CMakeFiles/path_sim.dir/src/files.cpp.o [build] custom_path/g++ -Icustom_path/include -Icustom_path/boost -Icustom_path -Icustom_path/CGAL-5.4/include -g -g -O0 -std=gnu++20 -MD -MT CMakeFiles/path_sim.dir/src/files.cpp.o -MF CMakeFiles/path_sim.dir/src/files.cpp.o.d -o CMakeFiles/path_sim.dir/src/files.cpp.o -c custom_path/src/files.cpp [build] In file included from custom_path/boost/boost/geometry/geometries/geometries.hpp:29, [build] from custom_path/boost/boost/geometry/io/svg/svg_mapper.hpp:43, [build] from custom_path/boost/boost/geometry/geometry.hpp:129, [build] from custom_path/boost/boost/geometry.hpp:17, [build] from custom_path/src/files.cpp:3: [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp: In member function ‘void boost::geometry::model::d3::point_xyz<CoordinateType, CoordinateSystem>::x(const CoordinateType&)’: [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:68:27: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Key, class _Compare, class _Alloc> class std::set’ [build] 68 | { this->template set<0>(v); } [build] | ^ [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:68:27: note: expected a type, got ‘0’ [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:68:27: error: template argument 2 is invalid [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:68:27: error: template argument 3 is invalid [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp: In member function ‘void boost::geometry::model::d3::point_xyz<CoordinateType, CoordinateSystem>::y(const CoordinateType&)’: [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:72:27: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Key, class _Compare, class _Alloc> class std::set’ [build] 72 | { this->template set<1>(v); } [build] | ^ [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:72:27: note: expected a type, got ‘1’ [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:72:27: error: template argument 2 is invalid [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:72:27: error: template argument 3 is invalid [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp: In member function ‘void boost::geometry::model::d3::point_xyz<CoordinateType, CoordinateSystem>::z(const CoordinateType&)’: [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:76:27: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Key, class _Compare, class _Alloc> class std::set’ [build] 76 | { this->template set<2>(v); } [build] | ^ [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:76:27: note: expected a type, got ‘2’ [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:76:27: error: template argument 2 is invalid [build] custom_path/boost/boost/geometry/geometries/point_xyz.hpp:76:27: error: template argument 3 is invalid [build] ninja: build stopped: subcommand failed. [build] Build finished with exit code 1 ``` It works fine with gcc 11.2 though.. Just include the boost/geometry.hpp header and see the compilation fail with gcc 12.1. Thanks,