Re: Don't Plan 9 C compiler initialize the rest of member of a?struct?

Kurt H Maier <[email protected]>
Newsgroups gmane.os.plan9.general
Message-ID <20190402003532.GA55021@wopr>
On Mon, Apr 01, 2019 at 08:26:30PM -0400, Jeremy O'Brien wrote:
> On Mon, Apr 1, 2019, at 11:33, Kyohei Kadota wrote:
> > Hi, 9fans. I use 9legacy.
> > 
> > About below program, I expected that flags field will initialize to
> > zero but the value of flags was a garbage, ex, "f8f7".
> > Is this expected?
> > 
> > ```
> > #include <stdio.h>
> > 
> > struct option {
> >     int n;
> >     char *s;
> >     int flags;
> > };
> > 
> > int
> > main(void)
> > {
> >     struct option opt = {1, "test"};
> >     printf("%d %s %x\n", opt.n, opt.s, opt.flags);
> >     return 0;
> > }
> > ```
> > 
> >
> 
> According to C99: "If an object that has automatic storage duration is not initialized explicitly, its value is indeterminate."
> 
> Stack variable == automatic storage duration. This appears to be correct behavior to me.
> 

Can anyone provide the patches 9legacy uses to implement C99 compliance?


Thanks in advance,
khm
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.