digitalmars.D.bugs - [Issue 697] New: No const folding on asm db,dw, etc
- d-bugmail puremagic.com (30/30) Dec 18 2006 http://d.puremagic.com/issues/show_bug.cgi?id=697
- d-bugmail puremagic.com (21/23) Jan 23 2007 http://d.puremagic.com/issues/show_bug.cgi?id=697
- d-bugmail puremagic.com (12/12) Mar 08 2007 http://d.puremagic.com/issues/show_bug.cgi?id=697
- d-bugmail puremagic.com (7/7) Oct 28 2007 http://d.puremagic.com/issues/show_bug.cgi?id=697
- d-bugmail puremagic.com (9/9) Nov 03 2007 http://d.puremagic.com/issues/show_bug.cgi?id=697
- d-bugmail puremagic.com (16/16) Apr 15 2009 http://d.puremagic.com/issues/show_bug.cgi?id=697
http://d.puremagic.com/issues/show_bug.cgi?id=697 Summary: No const folding on asm db,dw, etc Product: D Version: 0.177 Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: clugdbug yahoo.com.au This code generates the error message "const init" which doesn't make much sense. (The "goto end" is only included to make it safe to run). The same bug applies also to dd, ds, di, dl, de, df (and to dw, dq, and dt, which are undocumented). ------- void main() { goto end; const byte z = 35; asm { db z; } end: ; } ------- And it would be nice if asm { db 1+2; } also worked (it currently prints "end of instruction"). --
Dec 18 2006
http://d.puremagic.com/issues/show_bug.cgi?id=697 http://www.digitalmars.com/d/iasm.htmldb, ds, di, dl, df, dd, de These pseudo ops are for inserting raw data directly into the code.The only requirement for inserting something "directly into the code" is for it to be compile time constant. This feature is especially interesting for inserting template generated code. Added to DStress as http://dstress.kuehne.cn/run/a/asm_db_01_A.d http://dstress.kuehne.cn/run/a/asm_db_01_B.d http://dstress.kuehne.cn/run/a/asm_db_01_C.d http://dstress.kuehne.cn/run/a/asm_di_02_A.d http://dstress.kuehne.cn/run/a/asm_di_02_B.d http://dstress.kuehne.cn/run/a/asm_di_02_C.d http://dstress.kuehne.cn/run/a/asm_dl_02_A.d http://dstress.kuehne.cn/run/a/asm_dl_02_B.d http://dstress.kuehne.cn/run/a/asm_dl_02_C.d http://dstress.kuehne.cn/run/a/asm_ds_01_A.d http://dstress.kuehne.cn/run/a/asm_ds_01_B.d http://dstress.kuehne.cn/run/a/asm_ds_01_C.d Thomas --
Jan 23 2007
http://d.puremagic.com/issues/show_bug.cgi?id=697 smjg iname.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |smjg iname.com Keywords| |diagnostic, rejects-valid There are two issues here: that this code fails to compile and that the mysterious message "const init" is in the compiler's repertoire. If there's any really invalid code that triggers this error, it needs to be replaced with something that makes sense. --
Mar 08 2007
http://d.puremagic.com/issues/show_bug.cgi?id=697 I can fix this particular problem (propagating const values), but generalized expressions for DB, etc., won't be supported until I get around to replacing the expression parser in the inline assembler with the full D expression parser. --
Oct 28 2007
http://d.puremagic.com/issues/show_bug.cgi?id=697 bugzilla digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Fixed dmd 1.023 and 2.007 --
Nov 03 2007
http://d.puremagic.com/issues/show_bug.cgi?id=697 clugdbug yahoo.com.au changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | I'm reopening this since there are 7 dstress bugs which depend on it. asm_db_01_C in run/a/asm_db_01_C.d asm_di_02_A in run/a/asm_di_02_A.d asm_di_02_C in run/a/asm_di_02_C.d asm_dl_02_A in run/a/asm_dl_02_A.d asm_dl_02_C in run/a/asm_dl_02_C.d asm_ds_01_A in run/a/asm_ds_01_A.d asm_ds_01_C in run/a/asm_ds_01_C.d --
Apr 15 2009