[Issue 4938] Regression(2.047) dmd segfault when compiling
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Sep 27 00:42:43 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4938
Don <clugdbug at yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-invalid-code, patch
CC| |clugdbug at yahoo.com.au
Summary|dmd segfault when compiling |Regression(2.047) dmd
| |segfault when compiling
Severity|normal |regression
--- Comment #3 from Don <clugdbug at yahoo.com.au> 2010-09-27 00:41:56 PDT ---
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: -------
More information about the Digitalmars-d-bugs
mailing list