Getting action on your favorite D issues
Joseph Rushton Wakeling
joseph.wakeling at webdrake.net
Sat Jun 6 21:34:00 UTC 2020
On Saturday, 6 June 2020 at 19:52:11 UTC, Timon Gehr wrote:
> Unfortunately it does not mean the behavior is not defined. It
> means the behavior is explicitly defined to be arbitrary. It's
> not very well-designed terminology, but D inherits it from C.
The C99 standard has better terminology, though: it describes it
as _indeterminate_, which can be either unspecified, or a trap
value (the latter of which IIUC means any arbitrary bit pattern
that fits in the block of memory the variable is stored in?).
If I've understood the spec correctly, "unspecified" allows for
the possibility that an individual implementation _could_ specify
the behaviour, it just doesn't require it -- right? -- whereas as
you say, "implementation defined" in C explicitly means that the
implementation _must_ specify the behaviour.
It looks like the D spec might benefit from adapting that kind of
more precisely defined terminology.
More information about the Digitalmars-d
mailing list