digitalmars.D.bugs - [Issue 285] New: Struct method null pointer assert has line number of "0"
- d-bugmail puremagic.com (29/29) Aug 12 2006 http://d.puremagic.com/issues/show_bug.cgi?id=285
- kris (3/40) Aug 12 2006 Cute and all; but I sure hope such codegen is disabled via a switch such...
- Jarrett Billingsley (5/7) Aug 12 2006 Indeed it is, just like array bounds checking and the like. In fact, al...
- Thomas Kuehne (11/25) Aug 14 2006 -----BEGIN PGP SIGNED MESSAGE-----
- d-bugmail puremagic.com (12/12) Sep 09 2006 http://d.puremagic.com/issues/show_bug.cgi?id=285
- d-bugmail puremagic.com (9/9) Sep 19 2006 http://d.puremagic.com/issues/show_bug.cgi?id=285
http://d.puremagic.com/issues/show_bug.cgi?id=285 Summary: Struct method null pointer assert has line number of "0" Product: D Version: 0.163 Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: jarrett.billingsley gmail.com struct S { void fork() { } } void main() { S* s = null; s.fork(); } This causes an AssertError with the correct module name, but with a line number of 0, which is really, really unhelpful. I didn't know DMD even inserted this null check, I think it's pretty cool :) Would be nice if it included the message "struct 'this' pointer is null" or "struct method called through null pointer" or something along those lines. --
Aug 12 2006
d-bugmail puremagic.com wrote:http://d.puremagic.com/issues/show_bug.cgi?id=285 Summary: Struct method null pointer assert has line number of "0" Product: D Version: 0.163 Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: jarrett.billingsley gmail.com struct S { void fork() { } } void main() { S* s = null; s.fork(); } This causes an AssertError with the correct module name, but with a line number of 0, which is really, really unhelpful. I didn't know DMD even inserted this null check, I think it's pretty cool :) Would be nice if it included the message "struct 'this' pointer is null" or "struct method called through null pointer" or something along those lines.Cute and all; but I sure hope such codegen is disabled via a switch such as -release ...
Aug 12 2006
"kris" <foo bar.com> wrote in message news:ebln9m$24kh$1 digitaldaemon.com...Cute and all; but I sure hope such codegen is disabled via a switch such as -release ...Indeed it is, just like array bounds checking and the like. In fact, all it does is insert an implicit "assert(this !is null)", and since it's like any other assert, it compiles out in release mode.
Aug 12 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 d-bugmail puremagic.com schrieb am 2006-08-12:http://d.puremagic.com/issues/show_bug.cgi?id=285struct S { void fork() { } } void main() { S* s = null; s.fork(); } This causes an AssertError with the correct module name, but with a line number of 0, which is really, really unhelpful.Added to DStress as http://dstress.kuehne.cn/norun/s/struct_26_A.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFE311mLK5blCcjpWoRAgLDAJ983i4AEjVnn+emYaqF5M7rNomWnwCdFh8j ZZrKf+r07qwMgzWZMsQVBy4= =GPCO -----END PGP SIGNATURE-----
Aug 14 2006
http://d.puremagic.com/issues/show_bug.cgi?id=285 smjg iname.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |smjg iname.com Keywords| |diagnostic It's been suggested before that we should have some kind of error that unambiguously indicates an attempt to dereference a null pointer. This was mainly in reference to class object references, but I suppose it would apply to structs just as well. --
Sep 09 2006
http://d.puremagic.com/issues/show_bug.cgi?id=285 bugzilla digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Fixed in DMC 0.167. --
Sep 19 2006