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.

Reply via email to