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









d-bugmail puremagic.com 