public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201
@ 2022-11-28 17:56 gscfq@t-online.de
2022-11-28 18:06 ` [Bug c++/107897] " pinskia at gcc dot gnu.org
` (10 more replies)
0 siblings, 11 replies; 12+ messages in thread
From: gscfq@t-online.de @ 2022-11-28 17:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Bug ID: 107897
Summary: [13 Regression] ICE in verify_curr_properties, at
passes.cc:2201
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: gscfq@t-online.de
Target Milestone: ---
Started between 20221030 and 20221106,
with file g++.dg/cpp2a/concepts-lambda3.C :
$ gcc-13-20221127 -c concepts-lambda3.C -std=c++20 -flto -fno-inline
concepts-lambda3.C:40:13: error: mangling of 'main(int,
char**)::<lambda(auto:5)> [with auto:5 = int]' as
'_ZZ4mainENKUlT_E1_clIiEEDaS_' conflicts with a previous mangle
40 | auto a0 = [](IsNotLarge auto a) { return [](auto b){ return b; }; };
| ^
concepts-lambda3.C:37:3: note: previous mangling 'int main(int,
char**)::<lambda(auto:3)>::_ZZ4mainENKUlT_E1_clIiEEDaS_(int) const'
37 | [](auto t) requires true { return t; }(5);
| ^
concepts-lambda3.C:40:13: note: a later '-fabi-version=' (or =0) avoids this
error with a change in mangling
40 | auto a0 = [](IsNotLarge auto a) { return [](auto b){ return b; }; };
| ^
during IPA pass: targetclone
concepts-lambda3.C:63:1: internal compiler error: in verify_curr_properties, at
passes.cc:2201
63 | }
| ^
0x10c1cb5 verify_curr_properties
../../gcc/passes.cc:2201
0x10c23dd do_per_function
../../gcc/passes.cc:1701
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] ICE in verify_curr_properties, at passes.cc:2201
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
@ 2022-11-28 18:06 ` pinskia at gcc dot gnu.org
2022-11-29 7:43 ` rguenth at gcc dot gnu.org
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-11-28 18:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |13.0
Keywords| |ABI, c++-lambda
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] ICE in verify_curr_properties, at passes.cc:2201
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
2022-11-28 18:06 ` [Bug c++/107897] " pinskia at gcc dot gnu.org
@ 2022-11-29 7:43 ` rguenth at gcc dot gnu.org
2022-11-29 9:26 ` cvs-commit at gcc dot gnu.org
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-11-29 7:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
(gdb) p fn->curr_properties
$4 = 92431
that looks like garbage. We likely cut off processing one of the functions
because of the error (and failed to initialize ->curr_properties when
allocating struct function). In particular we gate off build_ssa_passes
but not consistently all other small IPA passes and target_clone is the
only one requiring any SSA/CFG properties.
I'm testing a patch for the ICE-after-error, the error remains.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] ICE in verify_curr_properties, at passes.cc:2201
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
2022-11-28 18:06 ` [Bug c++/107897] " pinskia at gcc dot gnu.org
2022-11-29 7:43 ` rguenth at gcc dot gnu.org
@ 2022-11-29 9:26 ` cvs-commit at gcc dot gnu.org
2022-11-29 9:27 ` [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle rguenth at gcc dot gnu.org
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-11-29 9:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:5894a8179687b7028d093584102d204af422cfd3
commit r13-4384-g5894a8179687b7028d093584102d204af422cfd3
Author: Richard Biener <rguenther@suse.de>
Date: Tue Nov 29 08:43:55 2022 +0100
ipa/107897 - avoid property verification ICE after error
The target clone pass is the only small IPA pass that doesn't disable
itself after errors but has properties whose verification can fail
because we cut off build SSA passes after errors.
PR ipa/107897
* multiple_target.cc (pass_target_clone::gate): Disable
after errors.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
` (2 preceding siblings ...)
2022-11-29 9:26 ` cvs-commit at gcc dot gnu.org
@ 2022-11-29 9:27 ` rguenth at gcc dot gnu.org
2022-12-01 15:39 ` [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601 jakub at gcc dot gnu.org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-11-29 9:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Keywords|ice-on-valid-code |rejects-valid
Last reconfirmed| |2022-11-29
Ever confirmed|0 |1
Summary|[13 Regression] ICE in |[13 Regression] mangling
|verify_curr_properties, at |conflicts with a previous
|passes.cc:2201 |mangle
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
I fixed the ICE but the mangling error remains.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
` (3 preceding siblings ...)
2022-11-29 9:27 ` [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle rguenth at gcc dot gnu.org
@ 2022-12-01 15:39 ` jakub at gcc dot gnu.org
2022-12-21 9:53 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-01 15:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[13 Regression] mangling |[13 Regression] mangling
|conflicts with a previous |conflicts with a previous
|mangle |mangle since r13-3601
CC| |jakub at gcc dot gnu.org,
| |nathan at gcc dot gnu.org
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r13-3601-g2b0e81d5cc2f7e1d773f6c502bd65b097f392675
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
` (4 preceding siblings ...)
2022-12-01 15:39 ` [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601 jakub at gcc dot gnu.org
@ 2022-12-21 9:53 ` rguenth at gcc dot gnu.org
2023-02-02 16:12 ` jakub at gcc dot gnu.org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-12-21 9:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
` (5 preceding siblings ...)
2022-12-21 9:53 ` rguenth at gcc dot gnu.org
@ 2023-02-02 16:12 ` jakub at gcc dot gnu.org
2023-03-06 20:01 ` jason at gcc dot gnu.org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-02 16:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at gcc dot gnu.org
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The error can be certainly worked around with -fabi-compat-version=18, but I
wonder
if we just shouldn't disable mangling aliases for decls where
write_closure_type_name
has been called and LAMBDA_EXPR_SCOPE_SIG_DISCRIMINATOR !=
LAMBDA_EXPR_SCOPE_ONLY_DISCRIMINATOR. Because the mangling change doesn't look
like mangle this differently, but use different numbering scheme in the same
mangling.
If yes, it could be arranged by
if ((LAMBDA_EXPR_SCOPE_SIG_DISCRIMINATOR (lambda)
!= LAMBDA_EXPR_SCOPE_ONLY_DISCRIMINATOR (lambda))
&& abi_warn_or_compat_version_crosses (18))
G.need_abi_warning = true;
not setting just the G.need_abi_warning flag but some new flag in G which would
disable creation of the mangling alias.
Thoughts on that?
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
` (6 preceding siblings ...)
2023-02-02 16:12 ` jakub at gcc dot gnu.org
@ 2023-03-06 20:01 ` jason at gcc dot gnu.org
2023-03-09 21:59 ` jason at gcc dot gnu.org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2023-03-06 20:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
Status|NEW |ASSIGNED
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
` (7 preceding siblings ...)
2023-03-06 20:01 ` jason at gcc dot gnu.org
@ 2023-03-09 21:59 ` jason at gcc dot gnu.org
2023-03-30 11:23 ` cvs-commit at gcc dot gnu.org
2023-03-30 12:13 ` jason at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2023-03-09 21:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |asolokha at gmx dot com
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> ---
*** Bug 108971 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
` (8 preceding siblings ...)
2023-03-09 21:59 ` jason at gcc dot gnu.org
@ 2023-03-30 11:23 ` cvs-commit at gcc dot gnu.org
2023-03-30 12:13 ` jason at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-03-30 11:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <jason@gcc.gnu.org>:
https://gcc.gnu.org/g:a23b33a1bdeff7bc2289d9ebb7cb7b7ec0a605f5
commit r13-6944-ga23b33a1bdeff7bc2289d9ebb7cb7b7ec0a605f5
Author: Jason Merrill <jason@redhat.com>
Date: Mon Mar 6 15:33:45 2023 -0500
c++: lambda mangling alias issues [PR107897]
In 107897, by the time we are looking at the mangling clash, the
alias has already been removed from the symbol table by analyze_functions,
so we can't look at n->cpp_implicit_alias. So just assume that it's an
alias if it's internal.
In 108887 the problem is that removing the mangling alias from the symbol
table confuses analyze_functions, because it ended up as first_analyzed
somehow, so it becomes a dangling pointer. So instead we call reset()
to neutralize the alias. To make this work for variables, I needed to move
reset() from cgraph_node to symtab_node.
PR c++/107897
PR c++/108887
gcc/ChangeLog:
* cgraph.h: Move reset() from cgraph_node to symtab_node.
* cgraphunit.cc (symtab_node::reset): Adjust. Also call
remove_from_same_comdat_group.
gcc/cp/ChangeLog:
* decl2.cc (record_mangling): Use symtab_node::reset.
gcc/testsuite/ChangeLog:
* g++.dg/cpp2a/concepts-lambda3.C: Use -flto if supported.
* g++.dg/cpp0x/lambda/lambda-mangle7.C: New test.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
` (9 preceding siblings ...)
2023-03-30 11:23 ` cvs-commit at gcc dot gnu.org
@ 2023-03-30 12:13 ` jason at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2023-03-30 12:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #8 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-03-30 12:13 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-28 17:56 [Bug c++/107897] New: [13 Regression] ICE in verify_curr_properties, at passes.cc:2201 gscfq@t-online.de
2022-11-28 18:06 ` [Bug c++/107897] " pinskia at gcc dot gnu.org
2022-11-29 7:43 ` rguenth at gcc dot gnu.org
2022-11-29 9:26 ` cvs-commit at gcc dot gnu.org
2022-11-29 9:27 ` [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle rguenth at gcc dot gnu.org
2022-12-01 15:39 ` [Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601 jakub at gcc dot gnu.org
2022-12-21 9:53 ` rguenth at gcc dot gnu.org
2023-02-02 16:12 ` jakub at gcc dot gnu.org
2023-03-06 20:01 ` jason at gcc dot gnu.org
2023-03-09 21:59 ` jason at gcc dot gnu.org
2023-03-30 11:23 ` cvs-commit at gcc dot gnu.org
2023-03-30 12:13 ` jason at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).