* [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member
2024-03-23 9:58 [Bug c++/114439] New: [14 Regression] icu4c-73.2 build failure: invalid initializer for array member slyfox at gcc dot gnu.org
@ 2024-03-23 12:12 ` slyfox at gcc dot gnu.org
2024-03-23 17:10 ` [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing flexible arrays since r14-962 pinskia at gcc dot gnu.org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: slyfox at gcc dot gnu.org @ 2024-03-23 12:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439
Sergei Trofimovich <slyfox at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mpolacek at gcc dot gnu.org
--- Comment #1 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
Bisected down to r14-9622-gd1d8fd2884b445 "c++: direct-init of an array of
class type [PR59465]".
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing flexible arrays since r14-962
2024-03-23 9:58 [Bug c++/114439] New: [14 Regression] icu4c-73.2 build failure: invalid initializer for array member slyfox at gcc dot gnu.org
2024-03-23 12:12 ` [Bug c++/114439] " slyfox at gcc dot gnu.org
@ 2024-03-23 17:10 ` pinskia at gcc dot gnu.org
2024-03-23 19:15 ` [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing " pinskia at gcc dot gnu.org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-23 17:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu.org
Summary|[14 Regression] icu4c-73.2 |[14 Regression] icu4c-73.2
|build failure: invalid |build failure: invalid
|initializer for array |initializer for array
|member |member with initialization
| |of array of struct
| |containing flexible arrays
| |since r14-962
Keywords| |rejects-valid
Target Milestone|--- |14.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing arrays since r14-962
2024-03-23 9:58 [Bug c++/114439] New: [14 Regression] icu4c-73.2 build failure: invalid initializer for array member slyfox at gcc dot gnu.org
2024-03-23 12:12 ` [Bug c++/114439] " slyfox at gcc dot gnu.org
2024-03-23 17:10 ` [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing flexible arrays since r14-962 pinskia at gcc dot gnu.org
@ 2024-03-23 19:15 ` pinskia at gcc dot gnu.org
2024-03-24 15:01 ` [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing arrays since r14-9622 xry111 at gcc dot gnu.org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-23 19:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2024-03-23
Status|UNCONFIRMED |NEW
Summary|[14 Regression] icu4c-73.2 |[14 Regression] icu4c-73.2
|build failure: invalid |build failure: invalid
|initializer for array |initializer for array
|member with initialization |member with initialization
|of array of struct |of array of struct
|containing flexible arrays |containing arrays since
|since r14-962 |r14-962
Ever confirmed|0 |1
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed. The array inside UnicodeSet does not need to be flexible to have
this rejected.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing arrays since r14-9622
2024-03-23 9:58 [Bug c++/114439] New: [14 Regression] icu4c-73.2 build failure: invalid initializer for array member slyfox at gcc dot gnu.org
` (2 preceding siblings ...)
2024-03-23 19:15 ` [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing " pinskia at gcc dot gnu.org
@ 2024-03-24 15:01 ` xry111 at gcc dot gnu.org
2024-03-25 14:35 ` mpolacek at gcc dot gnu.org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: xry111 at gcc dot gnu.org @ 2024-03-24 15:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439
Xi Ruoyao <xry111 at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
--- Comment #3 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
To me this should be a P1 as the compiler is rejecting trivial valid code...
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing arrays since r14-9622
2024-03-23 9:58 [Bug c++/114439] New: [14 Regression] icu4c-73.2 build failure: invalid initializer for array member slyfox at gcc dot gnu.org
` (3 preceding siblings ...)
2024-03-24 15:01 ` [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing arrays since r14-9622 xry111 at gcc dot gnu.org
@ 2024-03-25 14:35 ` mpolacek at gcc dot gnu.org
2024-03-25 22:20 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2024-03-25 14:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot gnu.org
Status|NEW |ASSIGNED
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing arrays since r14-9622
2024-03-23 9:58 [Bug c++/114439] New: [14 Regression] icu4c-73.2 build failure: invalid initializer for array member slyfox at gcc dot gnu.org
` (4 preceding siblings ...)
2024-03-25 14:35 ` mpolacek at gcc dot gnu.org
@ 2024-03-25 22:20 ` cvs-commit at gcc dot gnu.org
2024-03-25 22:20 ` mpolacek at gcc dot gnu.org
2024-03-26 9:08 ` slyfox at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-03-25 22:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Marek Polacek <mpolacek@gcc.gnu.org>:
https://gcc.gnu.org/g:de0886d48032332d10e4acb5d15c8789b281b6fe
commit r14-9658-gde0886d48032332d10e4acb5d15c8789b281b6fe
Author: Marek Polacek <polacek@redhat.com>
Date: Mon Mar 25 15:32:20 2024 -0400
c++: broken direct-init with trailing array member [PR114439]
can_init_array_with_p is wrongly saying that the init for 's' here:
struct S {
int *list = arr;
int arr[];
};
struct A {
A() {}
S s[2]{};
};
is invalid. But as process_init_constructor_array says, for "non-constant
initialization of trailing elements with no explicit initializers" we use
a VEC_INIT_EXPR wrapped in a TARGET_EXPR, built in
process_init_constructor.
Unfortunately we didn't have a test for this scenario so I didn't
realize can_init_array_with_p must handle it.
PR c++/114439
gcc/cp/ChangeLog:
* init.cc (can_init_array_with_p): Return true for a VEC_INIT_EXPR
wrapped in a TARGET_EXPR.
gcc/testsuite/ChangeLog:
* g++.dg/init/array65.C: New test.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing arrays since r14-9622
2024-03-23 9:58 [Bug c++/114439] New: [14 Regression] icu4c-73.2 build failure: invalid initializer for array member slyfox at gcc dot gnu.org
` (5 preceding siblings ...)
2024-03-25 22:20 ` cvs-commit at gcc dot gnu.org
@ 2024-03-25 22:20 ` mpolacek at gcc dot gnu.org
2024-03-26 9:08 ` slyfox at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2024-03-25 22:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member with initialization of array of struct containing arrays since r14-9622
2024-03-23 9:58 [Bug c++/114439] New: [14 Regression] icu4c-73.2 build failure: invalid initializer for array member slyfox at gcc dot gnu.org
` (6 preceding siblings ...)
2024-03-25 22:20 ` mpolacek at gcc dot gnu.org
@ 2024-03-26 9:08 ` slyfox at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: slyfox at gcc dot gnu.org @ 2024-03-26 9:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439
--- Comment #6 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
The change also fixed full icu4c-73.2 build for me. Thank you!
^ permalink raw reply [flat|nested] 9+ messages in thread