www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 555] New: Integral ireal literals can't be specified

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=555

           Summary: Integral ireal literals can't be specified
           Product: D
           Version: 0.174
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: minor
          Priority: P3
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: deewiant gmail.com


ireal x = 4.Li; // works
ireal y = 4.0Li; // works
ireal z = 4Li; // fails

asdf.d(3): semicolon expected, not 'i'
asdf.d(3): no identifier for declarator i

Or:

creal x = 2L + 4.Li; // works
creal y = 3L + 4.0Li; // works
creal z = 4L + 4Li; // fails

Which shows the discrepancy - the real numbers work, but the imaginary fails.

Not that important, since you can just write 4i, but it seems inconsistent
since you can write both 123.456i and 123.456Li, but not 123456i and 123456Li.


-- 
Nov 18 2006
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=555


deewiant gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid




------- Comment #1 from deewiant gmail.com  2006-11-18 11:03 -------
I'm now practically certain that this is a bug, since these all work:

ifloat x = 6.0fi;
ifloat y = 6.fi;
ifloat z = 6fi;


-- 
Nov 18 2006
prev sibling next sibling parent Thomas Kuehne <thomas-dloop kuehne.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

d-bugmail puremagic.com schrieb am 2006-11-18:
 http://d.puremagic.com/issues/show_bug.cgi?id=555

 ireal x = 4.Li; // works
 ireal y = 4.0Li; // works
 ireal z = 4Li; // fails

 asdf.d(3): semicolon expected, not 'i'
 asdf.d(3): no identifier for declarator i

 Or:

 creal x = 2L + 4.Li; // works
 creal y = 3L + 4.0Li; // works
 creal z = 4L + 4Li; // fails

 Which shows the discrepancy - the real numbers work, but the imaginary fails.

 Not that important, since you can just write 4i, but it seems inconsistent
 since you can write both 123.456i and 123.456Li, but not 123456i and 123456Li.

Added to DStress as http://dstress.kuehne.cn/compile/f/float_literal_dec_18_A.d http://dstress.kuehne.cn/compile/f/float_literal_dec_18_B.d http://dstress.kuehne.cn/compile/f/float_literal_dec_18_C.d http://dstress.kuehne.cn/compile/f/float_literal_dec_18_D.d http://dstress.kuehne.cn/compile/f/float_literal_dec_18_E.d http://dstress.kuehne.cn/compile/f/float_literal_dec_18_F.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFFaE+cLK5blCcjpWoRAgwwAKCoCVd/T6Eyeulwwd9vvw5CWZjPFgCdHlX2 +SNQB6t9MnRzpwEzWrKeSUY= =S0hs -----END PGP SIGNATURE-----
Nov 25 2006
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=555


deewiant gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #3 from deewiant gmail.com  2006-12-03 03:39 -------
Fixed in DMD 0.176.


-- 
Dec 03 2006