digitalmars.D.bugs - [Issue 4460] New: (2.047) Internal error when compiling foreach over associative array literal
- d-bugmail puremagic.com (27/27) Jul 14 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (25/25) Sep 29 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (10/10) Nov 22 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (11/11) Feb 06 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (13/13) Apr 19 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (35/35) Apr 23 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (10/10) Apr 28 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (9/9) Apr 28 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (12/12) Jul 09 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (13/13) Aug 02 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4460
- d-bugmail puremagic.com (10/10) Apr 11 2012 http://d.puremagic.com/issues/show_bug.cgi?id=4460
http://d.puremagic.com/issues/show_bug.cgi?id=4460 Summary: (2.047) Internal error when compiling foreach over associative array literal Product: D Version: D2 Platform: x86_64 OS/Version: Windows Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: epi atari8.info import std.stdio; void main() { foreach (s, i; [ "a":1, "b":2 ]) { writeln(s, i); } } The above does not compile. DMD 2.047 gives up with message "Internal error: e2ir.c 4616". -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 14 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4460 The regression was introduced in svn 218, static arrays as values. The relevant change was in statement.c, ForeachStatement::semantic. --- case Taarray: if (!checkForArgTypes()) return this; taa = (TypeAArray *)tab; if (dim < 1 || dim > 2) { error("only one or two arguments for associative array foreach"); break; } -#if 0 +#if 1 /* This currently fails if Key or Value is a static array. * The fix is to make static arrays a value type, not the * kludge they currently are. */ tab = taa->impl->type; goto Lagain; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 29 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4460 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |juanjux gmail.com *** Issue 4990 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 22 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4460 Brad Roberts <braddr puremagic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|x86_64 |x86 --- Mass migration of bugs marked as x86-64 to just x86. The platform run on isn't what's relevant, it's if the app is a 32 or 64 bit app. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 06 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4460 Andriy <andrden gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrden gmail.com 2.052 the following still doesn't compile: Internal error: e2ir.c 4835 void main(){ auto a = ["k":"v"].keys; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 19 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4460 Iain Buclaw <ibuclaw ubuntu.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |ibuclaw ubuntu.com Patch: diff --git a/src/mtype.c b/src/mtype.c index f8ad06e..1d1fcd6 100644 --- a/src/mtype.c +++ b/src/mtype.c -4173,6 +4173,17 Expression *TypeAArray::dotExp(Scope *sc, Expression *e, Identifier *ident) else #endif { + /* Create a new temporary variable for literal arrays. + */ + if (e->op == TOKassocarrayliteral) + { + Identifier *idtmp = Lexer::uniqueId("__aatmp"); + VarDeclaration *aatmp = new VarDeclaration(loc, e->type, idtmp, new ExpInitializer(0, e)); + aatmp->storage_class |= STCctfe; + Expression *ae = new DeclarationExp(loc, aatmp); + e = new CommaExp(loc, ae, new VarExp(loc, aatmp)); + e = e->semantic(sc); + } e->type = getImpl()->type; e = e->type->dotExp(sc, e, ident); //e = Type::dotExp(sc, e, ident); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 23 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4460 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jmdavisProg gmx.com *** Issue 5590 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 28 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4460 You know I never actually checked to see if this patch worked in DMD... ... it doesn't work DMD. Now why would that be? Seems to because of a similar reason to issue5683 - backend is simply not getting the passing of the value right. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 28 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4460 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |yebblies gmail.com https://github.com/D-Programming-Language/dmd/pull/221 This also re-enables the check that the index is not ref, and a couple of others. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 09 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4460 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 12:14:41 PDT --- https://github.com/D-Programming-Language/dmd/commit/dd2cf0493ef3e80e36b3f5206b2eac86d337c58b https://github.com/D-Programming-Language/dmd/commit/c09e14ed2a010b38562a416537ba84871bccc577 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 02 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4460 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dawg dawgfoto.de *** Issue 5675 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 11 2012