digitalmars.D.bugs - [Issue 4072] New: Stack overflow on recursive template expansion inside contract
- d-bugmail puremagic.com (41/41) Apr 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4072
- d-bugmail puremagic.com (10/10) Apr 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4072
- d-bugmail puremagic.com (11/11) Apr 09 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4072
http://d.puremagic.com/issues/show_bug.cgi?id=4072
Summary: Stack overflow on recursive template expansion inside
contract
Product: D
Version: 2.040
Platform: Other
OS/Version: Windows
Status: NEW
Keywords: ice-on-invalid-code, patch
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: clugdbug yahoo.com.au
void bug4072(T)(T x)
if (is(typeof(bug4072(x))))
{}
static assert(!is(typeof(bug4072(7))));
-----
PATCH:
template.c line 1421.
-----------------------------------
Objects dedargs;
+ static int nest = 0;
+ if (++nest > 300)
+ {
+ global.gag = 0; // ensure error message gets printed
+ error("recursive expansion");
+ if (sc->tinst) sc->tinst->printInstantiationTrace();
+ fatal();
+ }
m = td->deduceFunctionTemplateMatch(loc, targsi, ethis, fargs,
&dedargs);
+ --nest;
//printf("deduceFunctionTemplateMatch = %d\n", m);
if (!m) // if no match
continue;
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 08 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4072
Walter Bright <bugzilla digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bugzilla digitalmars.com
13:59:47 PDT ---
changeset 432
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 08 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4072
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Fixed DMD2.043.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 09 2010









d-bugmail puremagic.com 