From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id EBAF6386EC25; Mon, 12 Oct 2020 07:40:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EBAF6386EC25 From: "marxin at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/97372] [8/9/10/11 Regression] ICE in Tracy 0.7.3 in template class since r8-2836-gb54d4018b17c8e7b Date: Mon, 12 Oct 2020 07:40:49 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 10.2.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: marxin at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: short_desc cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2020 07:40:50 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D97372 Martin Li=C5=A1ka changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Segmentation fault using |[8/9/10/11 Regression] ICE |Tracy 0.7.3 in template |in Tracy 0.7.3 in template |class |class since | |r8-2836-gb54d4018b17c8e7b CC| |jason at gcc dot gnu.org, | |marxin at gcc dot gnu.org --- Comment #6 from Martin Li=C5=A1ka --- I'm woried that both reduced code snippets are an invalid code (at least cl= ang rejects that). I reduced that to a valid test-case: $ cat gcc_segfault_repro.ii class Lockable { public: Lockable(int *); }; template class ThreadTask2 { Lockable _state_mutex{[]() -> int * { static int srcloc; return 0; }()}; public: ThreadTask2() {} }; void x() { ThreadTask2 foo; } $ g++ gcc_segfault_repro.ii -c gcc_segfault_repro.ii: In instantiation of =E2=80=98ThreadTask2< >::ThreadTask2() [with =3D int]=E2=80=99: gcc_segfault_repro.ii:10:29: required from here gcc_segfault_repro.ii:6:52: internal compiler error: Segmentation fault 6 | Lockable _state_mutex{[]() -> int * { static int srcloc; return 0; }()}; | ^~~~~~ 0x10107ff crash_signal /home/marxin/Programming/gcc/gcc/toplev.c:330 0x7ffff788e6bf ??? =20=20=20=20=20=20=20 /usr/src/debug/glibc-2.32-1.1.x86_64/signal/../sysdeps/unix/sysv/linux/x86_= 64/sigaction.c:0 0xa29374 most_general_template(tree_node*) /home/marxin/Programming/gcc/gcc/cp/pt.c:24621 0xa297a7 enclosing_instantiation_of /home/marxin/Programming/gcc/gcc/cp/pt.c:14264 0xa43cf7 tsubst_decl /home/marxin/Programming/gcc/gcc/cp/pt.c:14632 0xa4a54a tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:18086 0xa483de tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:17992 0xa479d1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:18309 0xa479d1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:18309 0xa72876 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:17977 0xa72876 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) /home/marxin/Programming/gcc/gcc/cp/pt.c:19259 0xa3d423 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:20593 0xa3bcfc tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:19925 0xa3b0eb tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:20456 0x998191 get_nsdmi(tree_node*, bool, int) /home/marxin/Programming/gcc/gcc/cp/init.c:605 0x999381 perform_member_init /home/marxin/Programming/gcc/gcc/cp/init.c:772 0x999381 emit_mem_initializers(tree_node*) /home/marxin/Programming/gcc/gcc/cp/init.c:1388 0xa4973c tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:17997 0xa479d1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:18309 0xa4eca6 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:17977 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. Started with r8-2836-gb54d4018b17c8e7b.=