digitalmars.D.bugs - [Issue 222] New: "Internal error: ..\ztc\cod1.c 1656" with && and ||
- d-bugmail puremagic.com (24/24) Jun 23 2006 http://d.puremagic.com/issues/show_bug.cgi?id=222
- Thomas Kuehne (18/29) Jun 29 2006 -----BEGIN PGP SIGNED MESSAGE-----
- d-bugmail puremagic.com (12/12) Jul 01 2006 http://d.puremagic.com/issues/show_bug.cgi?id=222
- d-bugmail puremagic.com (8/8) Jul 22 2006 http://d.puremagic.com/issues/show_bug.cgi?id=222
- d-bugmail puremagic.com (19/19) Oct 16 2006 http://d.puremagic.com/issues/show_bug.cgi?id=222
- d-bugmail puremagic.com (9/9) Nov 25 2006 http://d.puremagic.com/issues/show_bug.cgi?id=222
http://d.puremagic.com/issues/show_bug.cgi?id=222
Summary: "Internal error: ..\ztc\cod1.c 1656" with && and ||
Product: D
Version: 0.161
Platform: PC
OS/Version: Windows
Status: NEW
Keywords: ice-on-invalid-code
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla digitalmars.com
ReportedBy: jarrett.billingsley gmail.com
Try:
void f()
{
}
..
int x = 0 || f();
int y = 1 && f();
Either declaration gives the error in the message.
According to the spec, the result of && and || is void if the second operand is
void. So this isn't valid code.
--
Jun 23 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 d-bugmail puremagic.com schrieb am 2006-06-23:http://d.puremagic.com/issues/show_bug.cgi?id=222Try: void f() { } .. int x = 0 || f(); int y = 1 && f(); Either declaration gives the error in the message. According to the spec, the result of && and || is void if the second operand is void. So this isn't valid code.Added to DStress as http://dstress.kuehne.cn/nocompile/b/bug_cod1_1656_A.d http://dstress.kuehne.cn/nocompile/b/bug_cod1_1656_B.d http://dstress.kuehne.cn/nocompile/b/bug_cod1_1656_C.d http://dstress.kuehne.cn/nocompile/b/bug_cod1_1656_D.d http://dstress.kuehne.cn/nocompile/b/bug_cod1_1656_E.d http://dstress.kuehne.cn/nocompile/b/bug_cod1_1656_F.d http://dstress.kuehne.cn/nocompile/b/bug_cod1_1656_G.d http://dstress.kuehne.cn/nocompile/b/bug_cod1_1656_H.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFEo7X/3w+/yD4P9tIRAjcwAKCXkStJ9Cw9GGXv6C2cJgkiUC8URACgo0Bp XXJU8Y3DpHxKLTs5sczN3Cw= =crKx -----END PGP SIGNATURE-----
Jun 29 2006
http://d.puremagic.com/issues/show_bug.cgi?id=222
deewiant gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |deewiant gmail.com
Keywords|ice-on-invalid-code |diagnostic
Priority|P2 |P3
In DMD 0.162, both give the error "non-constant expression cast(int)(!!(f)())".
The error message is misleading, so this is still a bug, but of a different
sort. I'd change the version of the bug to 0.162 if it were possible...
--
Jul 01 2006
http://d.puremagic.com/issues/show_bug.cgi?id=222
deewiant gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|0.161 |0.163
Changed the version to 0.163, as the behaviour remains the same there.
--
Jul 22 2006
http://d.puremagic.com/issues/show_bug.cgi?id=222
Here's a cut/pasteable reprocase. It doesn't produced the error mentioned in
comment 2, but it does produce the internal error in the summary.
void f() { }
void main() {
int x = 0 || f();
int y = 1 && f();
}
$ dmd -v 222.d (this is dmd 169)
parse 222
semantic 222
semantic2 222
semantic3 222
code 222
generating code for function 'f'
generating code for function 'main'
Internal error: ../ztc/cod1.c 1660
--
Oct 16 2006
http://d.puremagic.com/issues/show_bug.cgi?id=222
bugzilla digitalmars.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Fixed DMD 0.175
--
Nov 25 2006









Thomas Kuehne <thomas-dloop kuehne.cn> 