digitalmars.D.bugs - [Bug 123] New: Use of function, modulus, and dollar sign (length) fails to compile with static and const
- d-bugmail puremagic.com (30/30) May 01 2006 http://d.puremagic.com/bugzilla/show_bug.cgi?id=123
- d-bugmail puremagic.com (68/68) May 01 2006 http://d.puremagic.com/bugzilla/show_bug.cgi?id=123
- Thomas Kuehne (20/36) May 14 2006 -----BEGIN PGP SIGNED MESSAGE-----
http://d.puremagic.com/bugzilla/show_bug.cgi?id=123 Summary: Use of function, modulus, and dollar sign (length) fails to compile with static and const Product: D Version: 0.157 Platform: PC OS/Version: Windows Status: NEW Keywords: link-failure Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: CppCoder gmail.com uint intRes() { return 4; } int main() { static const char []foo = "abc123"; //everything works as expected if static and const are removed. writefln( "%c", foo[intRes() % $] ); return 0; } linking fails: main.obj(main) Error 42: Symbol Undefined _Dmain8__dollark --- errorlevel 1 --
May 01 2006
http://d.puremagic.com/bugzilla/show_bug.cgi?id=123 This works... // -------------- import std.stdio; uint intRes() { return 4; } const char [6]foo = "abc123"; void main() { writefln( foo[intRes() % length] ); } // -------------- This fails... // -------------- import std.stdio; uint intRes() { return 4; } const char []foo = "abc123"; void main() { writefln( foo[intRes() % length] ); } // -------------- This works... // -------------- import std.stdio; uint intRes() { return 4; } const char []foo = "abc123"; void main() { writefln( foo[intRes() % foo.length] ); } // -------------- This works... // -------------- import std.stdio; uint intRes() { return 4; } char []foo = "abc123"; void main() { writefln( foo[intRes() % length] ); } // -------------- This works... // -------------- import std.stdio; uint intRes() { return 4; } const char []foo = "abc123"; void main() { writefln( foo[4 % length] ); } // -------------- --
May 01 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 d-bugmail puremagic.com schrieb am 2006-05-02:http://d.puremagic.com/bugzilla/show_bug.cgi?id=123uint intRes() { return 4; } int main() { static const char []foo = "abc123"; //everything works as expected if static and const are removed. writefln( "%c", foo[intRes() % $] ); return 0; } linking fails: main.obj(main) Error 42: Symbol Undefined _Dmain8__dollark --- errorlevel 1Added to DStress as http://dstress.kuehne.cn/run/l/length_10_A.d http://dstress.kuehne.cn/run/l/length_10_B.d http://dstress.kuehne.cn/run/l/length_10_C.d http://dstress.kuehne.cn/run/l/length_10_D.d http://dstress.kuehne.cn/run/l/length_10_E.d http://dstress.kuehne.cn/run/l/length_10_F.d http://dstress.kuehne.cn/run/l/length_10_G.d http://dstress.kuehne.cn/run/l/length_10_H.d http://dstress.kuehne.cn/run/l/length_10_I.d http://dstress.kuehne.cn/run/l/length_10_J.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFEaA1P3w+/yD4P9tIRAsRQAJwI6J1XBy9GFKb/aeEj9eVngxxEvwCfXC8x b90XNHeomnB2yRBYr2rOnVU= =y75o -----END PGP SIGNATURE-----
May 14 2006