Mail Archives: djgpp/1997/08/13/05:32:50
On Sun, 10 Aug 1997, Eli Zaretskii wrote:
>
> On Tue, 5 Aug 1997, Erik Max Francis wrote:
>
> > Paul Derbyshire wrote:
> >
> > > Sounds like maybe the value depends on uninitialized memory. Different
> > > platforms treat it differently; one compiler or GCC on one platform may
> > > initialize all memory used at zero; another or GCC on another might
> > > leave
> > > it random.
> >
> > I find that to believe. The undefinedness of uninitialized auto variables
> > is built into the language, and gcc is well aware of it. gcc for Linux
> > and DJGPP are just ports of the same thing, after all.
>
> That's true, but the memory for the uninitialized variables comes from
> the runtime memory allocation functions. If those zero the memory,
> you have zero initial values. I recall vaguely that this was one of
> the main problems when porting v1.x library to v2.0: some of the
> functions assumed memory was zeroed.
The language definition specifies the value of uninitialized _auto_
variables, but not of raw memory allocated by malloc or new. This memory
is undefined. That's where the problem with v1.x and v2.0 came from.
I think you both know this, but where discussing different things.
---------------
Peter Berdeklis
Dept. of Physics, Univ. of Toronto
- Raw text -