[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439 --- Comment #6 from Sergei Trofimovich --- The change also fixed full icu4c-73.2 build for me. Thank you!
[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439 Marek Polacek changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED|RESOLVED --- Comment #5 from Marek Polacek --- Fixed.
[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439 --- Comment #4 from GCC Commits --- The trunk branch has been updated by Marek Polacek : https://gcc.gnu.org/g:de0886d48032332d10e4acb5d15c8789b281b6fe commit r14-9658-gde0886d48032332d10e4acb5d15c8789b281b6fe Author: Marek Polacek 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.
[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439 Marek Polacek changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot gnu.org Status|NEW |ASSIGNED
[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439 Xi Ruoyao changed: What|Removed |Added Priority|P3 |P1 --- Comment #3 from Xi Ruoyao --- To me this should be a P1 as the compiler is rejecting trivial valid code...
[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439 Andrew Pinski 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 --- Confirmed. The array inside UnicodeSet does not need to be flexible to have this rejected.
[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439 Andrew Pinski 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
[Bug c++/114439] [14 Regression] icu4c-73.2 build failure: invalid initializer for array member
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114439 Sergei Trofimovich changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org --- Comment #1 from Sergei Trofimovich --- Bisected down to r14-9622-gd1d8fd2884b445 "c++: direct-init of an array of class type [PR59465]".