https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109658

            Bug ID: 109658
           Summary: ICE when building aria2-1.36.0 (internal compiler
                    error: in instantiate_decl, at cp/pt.cc:27095)
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sjames at gcc dot gnu.org
  Target Milestone: ---

Created attachment 54946
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54946&action=edit
json.ii.xz

Hit this when building aria2-1.36.0:
```
gcc (Gentoo 14.0.0.9999 p, commit 28d2380b495e99daca3b01ca9e6a73a623a2f3d2)
14.0.0 20230427 (experimental) e86d01af7926b04e80d8f3e6409bc67dbff8a069
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```

```
/bin/sh ../libtool  --tag=CXX   --mode=compile aarch64-unknown-linux-gnu-g++
-DHAVE_CONFIG_H -I. -I..  -I../lib -I../intl -I./includes -I./includes
-DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H   -pipe -O3 -pipe
-mcpu=native -c -o json.lo json.cc
libtool: compile:  aarch64-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I..
-I../lib -I../intl -I./includes -I./includes -DLOCALEDIR=\"/usr/share/locale\"
-DHAVE_CONFIG_H -pipe -O3 -pipe -mcpu=native -c json.cc  -fPIC -DPIC -o
.libs/json.o
In file included from ValueBase.h:45,
                 from json.h:39,
                 from json.cc:35:
a2functional.h:106:39: warning: ‘template<class _Arg1, class _Arg2, class
_Result> struct std::binary_function’ is deprecated [-Wdeprecated-declarations]
  106 | class LeastRecentAccess : public std::binary_function<T, T, bool> {
      |                                       ^~~~~~~~~~~~~~~
In file included from
/usr/lib/gcc/aarch64-unknown-linux-gnu/14/include/g++-v14/string:49,
                 from ValueBase.h:40:
/usr/lib/gcc/aarch64-unknown-linux-gnu/14/include/g++-v14/bits/stl_function.h:131:12:
note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
json.h: In instantiation of ‘void aria2::json::encode(OutputStream&, const
aria2::ValueBase*)::JsonValueBaseVisitor::encodeString(const std::string&)
[with OutputStream = std::__cxx11::basic_ostringstream<char>; std::string =
std::__cxx11::basic_string<char>]’:
json.h:56:7:   required from ‘void aria2::json::encode(OutputStream&, const
aria2::ValueBase*)::JsonValueBaseVisitor::visit(const aria2::String&) [with
OutputStream = std::__cxx11::basic_ostringstream<char>]’
json.h:111:3:   required from ‘OutputStream& aria2::json::encode(OutputStream&,
const aria2::ValueBase*) [with OutputStream =
std::__cxx11::basic_ostringstream<char>]’
json.cc:99:16:   required from here
json.h:56:7: internal compiler error: in instantiate_decl, at cp/pt.cc:27095
   56 |       encodeString(string.s());
      |       ^~~~~~~~~~~~
0x9bcb1b instantiate_decl(tree_node*, bool, bool)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:27095
0x82f17f mark_used(tree_node*, int)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/decl2.cc:5875
0x9b130b tsubst_baselink
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:16923
0x999ce3 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:21428
0x997a8b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:21035
0x9a7d6b tsubst_expr(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19891
0x9a97d7 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:18868
0x9a903f tsubst_expr(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19220
0x9ba6cf tsubst_expr(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:18826
0x9ba6cf instantiate_body
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:26915
0x9bc2cb instantiate_decl(tree_node*, bool, bool)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:27211
0x9a9793 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19382
0x9a93f7 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:18840
0x9a903f tsubst_expr(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19220
0x9ba6cf tsubst_expr(tree_node*, tree_node*, int, tree_node*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:18826
0x9ba6cf instantiate_body
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:26915
0x9bc2cb instantiate_decl(tree_node*, bool, bool)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:27211
0x9e8b43 instantiate_pending_templates(int)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:27289
0x833a97 c_parse_final_cleanups()
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/decl2.cc:4988
0xafcd23 c_common_parse_file()
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/c-family/c-opts.cc:1266
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.
```

`aarch64-unknown-linux-gnu-g++ -O2 -c json.ii` is enough to repro.

Reply via email to