digitalmars.D.bugs - [Issue 4938] New: dmd segfault when compiling
- d-bugmail puremagic.com (22/22) Sep 25 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4938
- d-bugmail puremagic.com (10/10) Sep 25 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4938
- d-bugmail puremagic.com (8/8) Sep 26 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4938
- d-bugmail puremagic.com (46/46) Sep 27 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4938
- d-bugmail puremagic.com (12/12) Sep 27 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4938
http://d.puremagic.com/issues/show_bug.cgi?id=4938
Summary: dmd segfault when compiling
Product: D
Version: D2
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: cruxic gmail.com
Created an attachment (id=775)
extract this and run compile.sh to cause the segfault
The dmd compiler segfaults when compiling the attached code. Extract the
archive and run compile.sh. dmd v2.048 on Ubuntu 10.04 32bit.
Please overlook my messy and error riddled D code as I'm actually in the
process of converting a Vala program to D.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 25 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4938
bearophile_hugs eml.cc changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bearophile_hugs eml.cc
I suggest you to slowly reduce the code, until it's just few lines of code.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 25 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4938 Okay. I can reduce it if you need me to. Or does D have a debugging tool where you can simply run the program under the debugger and it will show you where the segfault came from? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 26 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4938
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-invalid-code, patch
CC| |clugdbug yahoo.com.au
Summary|dmd segfault when compiling |Regression(2.047) dmd
| |segfault when compiling
Severity|normal |regression
It's OK, I'm able to reproduce it.
TEST CASE
---------
void bug4938()
{
try
{
return 0;
}
catch (Undefined4938 ee)
{
return 3;
}
}
-----------
PATCH
statement.c, line 4132.
-----------
int TryCatchStatement::blockExit()
{
assert(body);
int result = body->blockExit();
int catchresult = 0;
for (size_t i = 0; i < catches->dim; i++)
{
Catch *c = (Catch *)catches->data[i];
+ if (c->type == Type::terror)
+ continue;
catchresult |= c->blockExit();
/* If we're catching Object, then there is no throwing
*/
+ assert(c->type->toBasetype()->isClassHandle());
Identifier *id = c->type->toBasetype()->isClassHandle()->ident;
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 27 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4938
Walter Bright <bugzilla digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |bugzilla digitalmars.com
Resolution| |FIXED
14:17:36 PDT ---
http://www.dsource.org/projects/dmd/changeset/693
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 27 2010









d-bugmail puremagic.com 