Thread overview | ||||||
---|---|---|---|---|---|---|
|
October 13, 2004 broken: #line integer ["filespec"] | ||||
---|---|---|---|---|
| ||||
special token "line": > > #line integer ["filespec"]\n > The documentation only states that the line number is an integer, but the implementation rejects negative integers. test case: svn://svn.kuehne.cn/dstress/run/line_token_01.d The filespec "" is accepted by both the documentation and the implementation but is treated as if no filespec was given. test case: svn://svn.kuehne.cn/dstress/run/line_token_03.d Even non-empty filespecs are ignored and instead the original filespec is used. test case: svn://svn.kuehne.cn/dstress/run/line_token_04.d Thomas |
October 13, 2004 Re: broken: #line integer ["filespec"] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Thomas Kuehne | Thomas Kuehne wrote: > special token "line": > >>#line integer ["filespec"]\n >> > > > The documentation only states that the line number is an integer, but the implementation rejects negative integers. > test case: svn://svn.kuehne.cn/dstress/run/line_token_01.d It's defined as taking Integer, which is defined earlier in the lexical page. Integer literals are not signed. For CPP compatibility, it should take decimal digits only; for example, 019 to indicate 19: http://www.kuzbass.ru:8086/docs/isocpp/cpp.html#cpp.line (definition of digit-sequence): http://www.kuzbass.ru:8086/docs/isocpp/lex.html#lex.fcon In addition, string escapes are allowed in CPP: http://www.kuzbass.ru:8086/docs/isocpp/lex.html#lex.string |
October 14, 2004 Re: broken: #line integer ["filespec"] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Burton Radons | Burton Radons schrieb:
> It's defined as taking Integer, which is defined earlier in the lexical page. Integer literals are not signed.
I think the signed issue was simply ommited from the documentation. If integer literals are un-signed then I don't know why the code
below is accepted by the compiler.
code:
#
# static int array[]=[-1,+2,-3];
#
Thomas
|
October 14, 2004 Re: broken: #line integer ["filespec"] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Thomas Kuehne | Thomas Kuehne wrote:
<snip>
> I think the signed issue was simply ommited from the documentation. If integer literals are un-signed then I don't know why the code below is accepted by the compiler.
>
> code:
> #
> # static int array[]=[-1,+2,-3];
compile-time constant != literal
Stewart.
|
Copyright © 1999-2021 by the D Language Foundation