John Havlicek wrote: > Can anyone comment on whether "integer expression" is intended to > limit the result of the expression evaluation to what can be stored in > the 32-bit integer data type? > > I think that the answer should be "no". > John, I also believe the answer is "no" for the purpose of establishing what such constructs mean, so for example there is no 32-bit "context" to possibly affect the arithmetic of those self-determined expressions. Similarly I read identities like the A[E+:W] <=> A[E:E+W] that Arturo cites as ideals rather than literal formulas (E and W's types never interact). One I had to cope with recently is the idea that declaring C[expr] means C[0:(expr)-1] - don't take that one too literally either! But the "no" comes with a qualification - an economical implementation usually has limits when trying to serve extremes here. While there is no semantic bias toward 32-bit arithmetic, there are huge practical biases. A portable RTL design would be foolish to count on any larger range. Prescriptively, the standard should say "integral expression". But, in conforming RTL, any index or bounds value should be representable as a native integer on the host machine. Greg Disclaimer: JMHO - not a voting position. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Thu Apr 2 19:35:35 2009
This archive was generated by hypermail 2.1.8 : Thu Apr 02 2009 - 19:37:59 PDT