[Issue 3737] SEG-V at expression.c:6255 from bad opDispatch

2015-06-09 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3737

Andrei Alexandrescu and...@erdani.com changed:

   What|Removed |Added

Version|2.039   |D2

--


[Issue 3737] SEG-V at expression.c:6255 from bad opDispatch

2010-03-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3737


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #9 from Walter Bright bugzi...@digitalmars.com 2010-03-08 
22:22:36 PST ---
Fixed dmd 1.057 and 2.041

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3737] SEG-V at expression.c:6255 from bad opDispatch

2010-02-04 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3737


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #7 from Walter Bright bugzi...@digitalmars.com 2010-02-04 
21:10:21 PST ---
changeset 367

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3737] SEG-V at expression.c:6255 from bad opDispatch

2010-02-04 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3737


Kosmonaut kosmon...@tempinbox.com changed:

   What|Removed |Added

 CC||kosmon...@tempinbox.com


--- Comment #8 from Kosmonaut kosmon...@tempinbox.com 2010-02-04 22:48:30 PST 
---
(In reply to comment #7)
 changeset 367

http://www.dsource.org/projects/dmd/changeset/367

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3737] SEG-V at expression.c:6255 from bad opDispatch

2010-01-26 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3737


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

   Keywords||patch
Summary|SEG-V at expression.c:6255  |SEG-V at expression.c:6255
   |from bad code   |from bad opDispatch


--- Comment #6 from Don clugd...@yahoo.com.au 2010-01-26 00:06:30 PST ---
Cause: If global.errors  !global.gag, TemplateInstance::semantic doesn't set
'inst'. So this is a possible patch (not recommended) inside template.c:

{
if (!global.gag)
{
/* Trying to soldier on rarely generates useful messages
 * at this point.
 */
fatal();
}
+inst = this; // error recovery
return;
}
===
But, on the other hand, most other functions in expression.c only run
ti-semantic() if there are global.errors.

So this patch to expression.c line 6252 may be better:

Expression *DotTemplateInstanceExp::semantic(Scope *sc)
{
#if LOGSEMANTIC
printf(DotTemplateInstanceExp::semantic('%s')\n, toChars());
#endif
Expression *eleft;
Expression *e = new DotIdExp(loc, e1, ti-name);
L1:
e = e-semantic(sc);

if (e-op == TOKdottd)
{
+if (global.errors) return new ErrorExp();
DotTemplateExp *dte = (DotTemplateExp *)e;
TemplateDeclaration *td = dte-td;

The same problem occurs in mtype.c, line 6613, 7101, inside ::dotExp(), for
structs and classes, and they should probably have the same fix.
(they shouldn't be running ti-semantic() if there are global errors).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---