https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117146
Bug ID: 117146 Summary: ICE on error recovery with openscad-2021.01 Product: gcc Version: 15.0 Status: UNCONFIRMED Keywords: error-recovery Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sjames at gcc dot gnu.org Target Milestone: --- Originally reported downstream in Gentoo at https://bugs.gentoo.org/941523. ``` $ x86_64-pc-linux-gnu-g++ -c -O3 -march=native -mtls-dialect=gnu2 -fno-semantic-interposition -pipe -fcf-protection=none -fdiagnostics-color=always -fdiagnostics-urls=never -frecord-gcc-switches -fdiagnostics-explain-harder -Wa,-O2 -Wa,-mtune=znver2 -Warray-bounds=2 -Wstrict-aliasing -Wfree-nonheap-object -Werror=lto-type-mismatch -Werror=strict-aliasing -Werror=odr -Wformat -Werror=format-security -DSTACKSIZE=8388608 -fno-strict-aliasing -std=c++1y -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include -I/usr/include/hidapi -I/usr/include/libxml2 -I/usr/include/lib3mf -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DEIGEN_DONT_ALIGN -frounding-math -D_REENTRANT -Wall -Wextra -Wno-unused-local-typedefs -fPIC -DOPENSCAD_VERSION=2021.01 -DOPENSCAD_SHORTVERSION=2021.01 -DOPENSCAD_YEAR=2021.0 -DOPENSCAD_MONTH=01.0 -DOPENSCAD_DAY=.0 -DDEBUG -DSTACKSIZE=8388608 -DUSE_QOPENGLWIDGET -DENABLE_DBUS -DENABLE_JOYSTICK -DENABLE_CAIRO -DENABLE_SPNAV -DENABLE_HIDAPI -DENABLE_LIBZIP -DLIB3MF_API_2 -DENABLE_LIB3MF -DENABLE_OPENCSG -DENABLE_CGAL -DCGAL_HEADER_ONLY -DUSE_SCINTILLA_EDITOR -DQSCINTILLA_DLL -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_NETWORK_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I. -Isrc -Isrc/ext/libtess2/Include -I/usr/include/qt5 -I/usr/include/qt5/QtPrintSupport -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -Iobjects -I/usr/include/eigen3 -I/usr/lib64/qt5/mkspecs/linux-g++ -o objects/src/polyset-utils.o src/polyset-utils.cc In file included from /usr/include/CGAL/license/Nef_3.h:17, from /usr/include/CGAL/Nef_3/SNC_iteration.h:18, from src/ext/CGAL/CGAL_workaround_Mark_bounded_volumes.h:36, from src/cgal.h:12, from src/cgalutils.h:3, from src/polyset-utils.cc:9: /usr/include/CGAL/config.h:147:2: error: #error "CGAL requires C++ 17" 147 | #error "CGAL requires C++ 17" | ^~~~~ In file included from /usr/include/CGAL/basic.h:27, from /usr/include/CGAL/number_type_basic.h:23, from /usr/include/CGAL/Gmpq.h:16, from src/cgal.h:13: [...] /usr/include/CGAL/double.h:190:25: required from here 06:32:22 [22/9470] 190 | return CGAL::is_finite(d) && (std::ceil(d) == d); | ~~~~~~~~~~~~~~~^~~ /usr/include/CGAL/number_utils.h:253:1: error: no type named ‘result_type’ in ‘class CGAL::Real_embeddable_traits<double>::Is_finite’ 253 | is_finite( const Real_embeddable& x ) { | ^~~~~~~~~ In file included from /usr/include/CGAL/Interval_nt.h:41, from /usr/include/CGAL/long_double.h:27, from /usr/include/CGAL/number_type_basic.h:52: /usr/include/CGAL/Interval_traits.h: At global scope: /usr/include/CGAL/Interval_traits.h:60:17: internal compiler error: Segmentation fault 60 | typedef CGAL::Tag_false Is_interval; | ^~~~~~~~~ 0x5d3f319c9e1b internal_error(char const*, ...) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/diagnostic-global-context.cc:517 0x5d3f311e892d crash_signal /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/toplev.cc:322 0x719fa161e3ef ??? /usr/src/debug/sys-libs/glibc-2.40-r5/glibc-2.40/signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0 0x5d3f32621a0e contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/tree.h:3778 0x5d3f32621a0e tree_decl_hash::hash(tree_node*) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/tree.h:5914 0x5d3f31af5e6f simple_hashmap_traits<tree_decl_hash, unsigned int>::hash(tree_node* const&) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/hash-map-traits.h:50 0x5d3f31af5e6f hash_map<tree_node*, unsigned int, simple_hashmap_traits<tree_decl_hash, unsigned int> >::hash_entry::hash(hash_map<tree_node*, unsigned int, simple_hashmap_traits<tree_de cl_hash, unsigned int> >::hash_entry const&) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/hash-map.h:52 0x5d3f31af5e6f hash_table<hash_map<tree_node*, unsigned int, simple_hashmap_traits<tree_decl_hash, unsigned int> >::hash_entry, false, xcallocator>::verify(tree_node* const&, unsigned in t) [clone .isra.0] /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/hash-table.h:1116 0x5d3f2ff8324b hash_table<hash_map<tree_node*, unsigned int, simple_hashmap_traits<tree_decl_hash, unsigned int> >::hash_entry, false, xcallocator>::find_slot_with_hash(tree_node* const& , unsigned int, insert_option) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/hash-table.h:1046 0x5d3f2ff8324b hash_map<tree_node*, unsigned int, simple_hashmap_traits<tree_decl_hash, unsigned int> >::get_or_insert(tree_node* const&, bool*) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/hash-map.h:201 0x5d3f2ff8324b unsigned int& hash_map_safe_get_or_insert<false, tree_node*, unsigned int, simple_hashmap_traits<tree_decl_hash, unsigned int> >(hash_map<tree_node*, unsigned int, simple_ hashmap_traits<tree_decl_hash, unsigned int> >*&, tree_node* const&, bool*, unsigned long) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/hash-map.h:376 0x5d3f2ff8324b cp_adjust_diagnostic_info /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/cp/error.cc:242 0x5d3f31b20c1b cp_adjust_diagnostic_info /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/opts-common.cc:1861 0x5d3f31b20c1b diagnostic_context::report_diagnostic(diagnostic_info*) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/diagnostic.cc:1227 0x5d3f31b205b4 diagnostic_context::diagnostic_impl(rich_location*, diagnostic_metadata const*, diagnostic_option_id, char const*, __va_list_tag (*) [1], diagnostic_t) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/diagnostic.cc:1425 0x5d3f3017a875 error_at(rich_location*, char const*, ...) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/diagnostic-global-context.cc:439 0x5d3f30223fa4 cp_parser_diagnose_invalid_type_name /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/cp/parser.cc:3868 0x5d3f3252d34c cp_parser_parse_and_diagnose_invalid_type_name /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/cp/parser.cc:3975 0x5d3f31d3244e cp_parser_member_declaration /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/cp/parser.cc:28344 0x5d3f31ce28f2 cp_parser_member_specification_opt /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/cp/parser.cc:28187 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://bugs.gentoo.org/> for instructions. ``` Extracting preprocessed source for this is a pain as it doesn't ICE with that.