Sujet : Re: c initialization algorithm
De : tr.17687 (at) *nospam* z991.linuxsc.com (Tim Rentsch)
Groupes : comp.lang.cDate : 14. Oct 2024, 06:00:39
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <86cyk3xoqw.fsf@linuxsc.com>
References : 1 2
User-Agent : Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Kaz Kylheku <
643-408-1753@kylheku.com> writes:
On 2024-10-13, Thiago Adams <thiago.adams@gmail.com> wrote:
>
The algorithm for C initialization as described in the standard
and implemented in gcc allow this.
>
struct X{
int a,b,c;
};
>
int main()
{
struct X x = {.a=1,2,3,.a=1, 2, 3};
}
>
https://godbolt.org/z/7naedbEM6
>
Basically, when a designed initializer is found the "cursor" goes
to that member and the following members are initialized in
order.
>
I do not suspect that therw is an observable order. I.e. as
in a required order considered observable behavior.
Have you checked to C standard to see what it says about that?