[Bug c++/104847] [11/12 Regression] ICE in write_unqualified_name, at cp/mangle.cc:1406
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104847 --- Comment #4 from CVS Commits --- The master branch has been updated by Jason Merrill : https://gcc.gnu.org/g:71e1db540c01a13b01fae054c92878a79252b471 commit r12-7849-g71e1db540c01a13b01fae054c92878a79252b471 Author: Jason Merrill Date: Sat Mar 26 20:10:19 2022 -0400 c++: mangling union{1} in template [PR104847] My implementation of union non-type template arguments in r11-2016 broke braced casts of union type, because they are still in syntactic (undigested) form. PR c++/104847 gcc/cp/ChangeLog: * mangle.cc (write_expression): Don't write a union designator when undigested. gcc/testsuite/ChangeLog: * g++.dg/abi/mangle-union1.C: New test.
[Bug c++/104847] [11/12 Regression] ICE in write_unqualified_name, at cp/mangle.cc:1406
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104847 Jason Merrill changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org Status|NEW |ASSIGNED
[Bug c++/104847] [11/12 Regression] ICE in write_unqualified_name, at cp/mangle.cc:1406
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104847 --- Comment #3 from Jakub Jelinek --- Though the nontype-class-union1.C testcase doesn't have explicit designator syntax either.
[Bug c++/104847] [11/12 Regression] ICE in write_unqualified_name, at cp/mangle.cc:1406
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104847 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek --- struct S { int i; }; union U { S k; }; template T sink(T&&, Ts&&...); template decltype(sink(U{.k={.i=1}},T())) f(T) { return U{1}; } int main() { f(3); } compiles fine. I guess the question is if ce->index == NULL should be mangled without the di production of , or we should implicitly find the first initializable field and use that with di, i.e. if this should mangle as _Z1fIiEDTcl4sinktl1Udi1kilLi1EEEcvT__EEES1_ or as _Z1fIiEDTcl4sinktl1ULi1EEcvT__EEES1_
[Bug c++/104847] [11/12 Regression] ICE in write_unqualified_name, at cp/mangle.cc:1406
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104847 Marek Polacek changed: What|Removed |Added Ever confirmed|0 |1 Priority|P3 |P2 Last reconfirmed||2022-03-08 Status|UNCONFIRMED |NEW Target Milestone|--- |11.3 CC||jason at gcc dot gnu.org, ||mpolacek at gcc dot gnu.org --- Comment #1 from Marek Polacek --- Confirmed. Started with r11-2016-g6324c52bba490b