Am 04.08.2017 um 16:03 schrieb Steve Smith:
In PL/I "FIXED" means neither packed nor binary; it can be either.  The
relevant attribute is "DEC" or "BIN" (short forms), and the default is
"DEC".

Using UNSPEC to test the sign is absolutely ridiculous.  Sure, that's "too
clever", but it really shows that the writer was a wanker.  Nevertheless,
you have no case for an RFE.  Any feature can be abused or misused.

IMO, the case for the RFE could be
that programs that rely on the initialization of

DCL SUM DEC FIXED (7) INIT (-0.1);

with negative zero (X'0000000d')
should be flagged; this is bad practice, and I would like
such initializations to be flagged as ERROR (not only warning)
and to be told by the error message, that the initialization will be
POSITIVE zero from now on. (Losing decimal digits to the right of
the decimal point should only be a warning, IMO).

BTW, it's not the UNSPEC per se and not the content of the loop,
which is subject of the discussion, IMO. The UNSPEC is needed
if you want to test for negative zero, after all (the UNSPEC is ok,
but the usage in this case is questionable).

See more discussions on this topic on the PL/1 mailing list
(pl...@listserv.dartmouth.edu), if you are interested.

Kind regards

Bernd Oppolzer



Anyway, it's been really difficult to make out what this post is about.
What's with all the discussion about what's in the loop, "negative zero",
etc. if the UNSPEC is the issue?

sas



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to