[Bug 29419] [XP31] edge case with negative integer literals (UnaryExpr) and limits for -9223372036854775808, which cannot be parsed

https://www.w3.org/Bugs/Public/show_bug.cgi?id=29419

Michael Kay <mike@saxonica.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mike@saxonica.com

--- Comment #4 from Michael Kay <mike@saxonica.com> ---
This might be a problem if the spec recognized 2^64 and -2^64 as boundary cases
for xs:integer literals, but it doesn't. The range of xs:integer literals is
implementation-defined.

The spec requires support for at least 18 digits - and an implementation that
took that literally would not allow 9223372036854775808 anyway (I make it 19
digits).

The only place where 2^64 comes into play is for types such as xs:long; but we
don't have xs:long literals in the language, you can only construct them from
strings or xs:integer values, where the issue of "-" being an operator rather
than part of the value doesn't arise.

So you may have an implementation issue here, but I don't think there is a spec
issue.

Michael Kay
Saxonica

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Thursday, 4 February 2016 20:46:39 UTC