Thread overview | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
July 28, 2010 [Issue 4529] New: dmd crash with writeln of functions | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=4529 Summary: dmd crash with writeln of functions Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: bearophile_hugs@eml.cc --- Comment #0 from bearophile_hugs@eml.cc 2010-07-28 15:27:20 PDT --- D2 code, compiled with dmd 2.047, causes a crash of the compiler: import std.stdio; void main() { string a(); writeln(typeid(typeof(a))); string function() b; writeln(typeid(typeof(b))); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
August 30, 2010 [Issue 4529] dmd crash with writeln of functions | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile_hugs@eml.cc | http://d.puremagic.com/issues/show_bug.cgi?id=4529 Andrej Mitrovic <andrej.mitrovich@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich@gmail.com --- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2010-08-29 19:03:02 PDT --- This affects 2.048 too. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 03, 2010 [Issue 4529] Segfault(typinf.c) with writeln of functions | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile_hugs@eml.cc | http://d.puremagic.com/issues/show_bug.cgi?id=4529 --- Comment #2 from Don <clugdbug@yahoo.com.au> 2010-11-03 14:11:30 PDT --- REDUCED TEST CASE: int bug4529a() { return 0; } int function() bug4529b; auto ivorBomb1 = typeid(typeof(bug4529a)); auto ivorBomb2 = typeid(typeof(bug4529b)); Note that swapping the order of the two typinf.c, Type::getTypeInfo() line 152. The crash is because vtinfo hasn't been initialized. And this happens because we have a funny situation where vtinfo has been set up for the pointee (which is a function), but not yet for the pointer (which is a pointer to a function). Possibly a more complete solution would be to disallow typeof(X) where X is a function; if so, an assert(vtinfo) should still be added at this line. ------ t->vtinfo->toObjFile(global.params.multiobj); } } } + if (!vtinfo) + vtinfo = t->vtinfo; Expression *e = new VarExp(0, t->vtinfo); e = e->addressOf(sc); e->type = t->vtinfo->type; // do this so we don't get redundant dereference return e; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 12, 2010 [Issue 4529] Segfault(typinf.c) involving typeid(typeof(functionName)) | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile_hugs@eml.cc | http://d.puremagic.com/issues/show_bug.cgi?id=4529 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla@digitalmars.com Resolution| |FIXED --- Comment #3 from Walter Bright <bugzilla@digitalmars.com> 2010-11-11 19:01:16 PST --- http://www.dsource.org/projects/dmd/changeset/750 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation