The documentation for C99 "designated initializers" is not clear what happens
to omitted field members. I'm fairly sure omitted field members get initialized
to the same value they would get if they were static but it would be very nice
to have this explicitly called out in the docs.

The documentation page I'm referring to is available here:
http://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html

In particular I would like the documentation to explain what the values of

struct my_struct { bool a; int b; double c; };
struct my_struct ms = { .b = 42 };

At this point, what is the values of ms.a and ms.c? As I mention above, I
suspect the answer is that they have been initialized to the same values that
the corresponding data types would get if they were static variables? i.e.
false and 0.0, no?


-- 
           Summary: [easy to fix bug] Docs for C99 "designated initializers"
                    isn't clear what happens to omitted field members
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mnemo at minimum dot se


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39525

Reply via email to