https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119882
Bug ID: 119882 Summary: internal compiler error in diag_mismatched_tags when compiling a C++23 source file with -Werror=mismatched-tags Product: gcc Version: 14.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: alex at zrythm dot org Target Milestone: --- The following command: ``` /usr/bin/g++ -DBACKWARD_HAS_DW=1 -DBACKWARD_HAS_UNWIND=1 -DDEBUG=1 -DFMT_SHARED -DGETTEXT_PACKAGE=\"zrythm\" -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DHAVE_LITTLE_ENDIAN=1 -DJUCE_DEBUG=1 -DJUCE_DISABLE_JUCE_VERSION_PRINTING=1 -DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1 -DJUCE_PLUGINHOST_LADSPA=1 -DJUCE_PLUGINHOST_LV2=1 -DJUCE_PLUGINHOST_VST3=1 -DJUCE_USE_MP3AUDIOFORMAT=1 -DJUCE_WEB_BROWSER=0 -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_ENABLE_STRICT_MODE_UP_TO=0x060900 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_KEYWORDS -DQT_OPENGL_LIB -DQT_QMLINTEGRATION_LIB -DQT_QMLMETA_LIB -DQT_QMLMODELS_LIB -DQT_QMLWORKERSCRIPT_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DSPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_FUNCTION=__PRETTY_FUNCTION__ -DSPDLOG_SHARED_LIB -DTYPE_SAFE_ARITHMETIC_POLICY=1 -DTYPE_SAFE_ENABLE_ASSERTIONS=1 -DTYPE_SAFE_ENABLE_PRECONDITION_CHECKS=1 -DTYPE_SAFE_ENABLE_WRAPPER=1 -I/home/alex/Documents/git/zrythm/builddir_cmake/src/zrythm_gui_lib_autogen/include -I/home/alex/Documents/git/zrythm/src -I/home/alex/Documents/git/zrythm/ext -I/home/alex/Documents/git/zrythm/builddir_cmake/src -I/home/alex/Documents/git/zrythm/ext/zita-resampler -I/home/alex/Documents/git/zrythm/builddir_cmake/_deps/juce-src/modules -I/home/alex/Documents/git/zrythm/ext/ladspa -I/home/alex/Documents/git/zrythm/ext/backward-cpp -I/home/alex/Documents/git/zrythm/ext/typesafe/include -I/home/alex/Documents/git/zrythm/ext/typesafe/external/debug_assert -I/home/alex/Documents/git/zrythm/ext/juce_clap_hosting -I/home/alex/Documents/git/zrythm/ext/kissfft -isystem /usr/include/rtmidi -isystem /home/alex/opt/Qt6.9/include/QtCore -isystem /home/alex/opt/Qt6.9/include -isystem /home/alex/opt/Qt6.9/mkspecs/linux-g++ -isystem /home/alex/opt/Qt6.9/include/QtGui -isystem /home/alex/opt/Qt6.9/include/QtWidgets -isystem /home/alex/opt/Qt6.9/include/QtQuick -isystem /home/alex/opt/Qt6.9/include/QtQml -isystem /home/alex/opt/Qt6.9/include/QtQmlIntegration -isystem /home/alex/opt/Qt6.9/include/QtNetwork -isystem /home/alex/opt/Qt6.9/include/QtQmlMeta -isystem /home/alex/opt/Qt6.9/include/QtQmlModels -isystem /home/alex/opt/Qt6.9/include/QtQmlWorkerScript -isystem /home/alex/opt/Qt6.9/include/QtOpenGL -isystem /home/alex/opt/Qt6.9/include/QtQuickControls2 -isystem /home/alex/opt/Qt6.9/include/QtQml/6.9.0 -isystem /home/alex/opt/Qt6.9/include/QtQml/6.9.0/QtQml -isystem /home/alex/opt/Qt6.9/include/QtCore/6.9.0 -isystem /home/alex/opt/Qt6.9/include/QtCore/6.9.0/QtCore -isystem /home/alex/opt/Qt6.9/include/QtQuick/6.9.0 -isystem /home/alex/opt/Qt6.9/include/QtQuick/6.9.0/QtQuick -isystem /home/alex/opt/Qt6.9/include/QtGui/6.9.0 -isystem /home/alex/opt/Qt6.9/include/QtGui/6.9.0/QtGui -isystem /home/alex/opt/Qt6.9/include/QtQmlModels/6.9.0 -isystem /home/alex/opt/Qt6.9/include/QtQmlModels/6.9.0/QtQmlModels -isystem /home/alex/opt/Qt6.9/include/QtQmlMeta/6.9.0 -isystem /home/alex/opt/Qt6.9/include/QtQmlMeta/6.9.0/QtQmlMeta -isystem /home/alex/opt/Qt6.9/include/QtQmlWorkerScript/6.9.0 -isystem /home/alex/opt/Qt6.9/include/QtQmlWorkerScript/6.9.0/QtQmlWorkerScript -isystem /home/alex/opt/Qt6.9/include/QtConcurrent -g -std=c++23 -fsanitize-address-use-after-scope -fsanitize=address,undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wall -Wextra -Wformat=2 -Wno-missing-field-initializers -Wno-unused-parameter -Wno-cast-function-type -Werror=format-overflow -Werror=format-truncation -Werror=return-local-addr -Werror=alloca -Werror=disabled-optimization -Werror=float-equal -Werror=pointer-arith -Werror=enum-conversion -Werror=missing-declarations -Werror=shadow -Werror=address -Werror=undef -Werror=unused -Werror=vla -fstrict-aliasing -Wstrict-aliasing=2 -Werror=strict-aliasing -Werror=strict-overflow -Wstrict-overflow=2 -fstrict-overflow -Werror=init-self -Werror=write-strings -Werror=sign-compare -Werror=float-conversion -Werror=uninitialized -Werror=return-type -Werror=switch -Werror=overflow -Werror=array-bounds -Werror=enum-compare -Werror=misleading-indentation -Werror=int-in-bool-context -Werror=type-limits -Werror=deprecated-declarations -Werror=endif-labels -Werror=logical-not-parentheses -Werror=parentheses -Werror=comment -Werror=sizeof-pointer-div -Werror=shift-count-overflow -Werror=free-nonheap-object -Werror=nonnull -Werror=tautological-compare -Werror=unused-result -Werror=unused-variable -Werror=inline -Werror=redundant-decls -Werror=sizeof-array-argument -Werror=odr -Werror=mismatched-tags -Werror=narrowing -Werror=overloaded-virtual -Werror=reorder -Werror=sequence-point -Werror=invalid-constexpr -Werror=pessimizing-move -pedantic-errors -ftemplate-backtrace-limit=0 -Wsuggest-attribute=format -Wsuggest-attribute=cold -Werror=implicit-fallthrough -Werror=format=2 -Werror=clobbered -Werror=logical-op -Werror=stringop-truncation -Werror=duplicated-branches -Werror=duplicated-cond -Werror=maybe-uninitialized -Werror=multistatement-macros -Werror=use-after-free -Werror=nonnull-compare -Werror=bool-compare -Werror=lto-type-mismatch -Werror=analyzer-possible-null-dereference -Werror=analyzer-null-argument -Werror=analyzer-use-after-free -Werror=analyzer-possible-null-argument -Werror=analyzer-double-free -Werror=analyzer-out-of-bounds -Werror=analyzer-deref-before-check -Werror=analyzer-allocation-size -Werror=analyzer-exposure-through-uninit-copy -Werror=analyzer-infinite-recursion -Werror=analyzer-jump-through-null -Werror=analyzer-fd-leak -D_REENTRANT -pthread -D__UNIX_JACK__ -D__LINUX_ALSA__ -g -O0 -fPIC -Winvalid-pch -include /home/alex/Documents/git/zrythm/builddir_cmake/src/dsp/CMakeFiles/zrythm_dsp_lib.dir/cmake_pch.hxx -MD -MT src/CMakeFiles/zrythm_gui_lib.dir/gui/backend/plugin_scanner.cpp.o -MF src/CMakeFiles/zrythm_gui_lib.dir/gui/backend/plugin_scanner.cpp.o.d -o src/CMakeFiles/zrythm_gui_lib.dir/gui/backend/plugin_scanner.cpp.o -c /home/alex/Documents/git/zrythm/src/gui/backend/plugin_scanner.cpp ``` results in the following internal compiler error on GCC 14.2.1 20250207 on Arch Linux: ``` /home/alex/Documents/git/zrythm/src/gui/backend/plugin_scanner.cpp:314:43: internal compiler error: in diag_mismatched_tags, at cp/parser.cc:35263 314 | PluginScanner::~PluginScanner () = default; | ^ 0x21a57ea internal_error(char const*, ...) ???:0 0x703e83 fancy_abort(char const*, int, char const*) ???:0 0x889d08 class_decl_loc_t::diag_mismatched_tags(tree_node*) ???:0 0x88ae44 class_decl_loc_t::diag_mismatched_tags() ???:0 0x9cd0f5 c_common_parse_file() ???:0 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues> for instructions. ``` Attached is the result of the same g++ invocation with -freport-bug prepended to the command line options. Please let me know if you need more info.