digitalmars.D.bugs - [Issue 3668] New: foreach over typedef'd array crashes dmd
- d-bugmail puremagic.com (24/24) Jan 03 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3668
- d-bugmail puremagic.com (24/24) Jan 04 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3668
- d-bugmail puremagic.com (12/12) Jan 04 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3668
- d-bugmail puremagic.com (8/8) Jan 04 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3668
- d-bugmail puremagic.com (13/13) Jan 04 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3668
- d-bugmail puremagic.com (10/10) Jan 23 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3668
- d-bugmail puremagic.com (6/6) Jan 30 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3668
- d-bugmail puremagic.com (9/9) Jan 31 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3668
http://d.puremagic.com/issues/show_bug.cgi?id=3668
Summary: foreach over typedef'd array crashes dmd
Product: D
Version: 2.032
Platform: Other
OS/Version: Windows
Status: NEW
Keywords: ice-on-valid-code
Severity: regression
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: spam extrawurst.org
---
This code used to work up to version 2.031 without problems, since 2.032 it
manages to crash dmd.
[CODE]
typedef byte[] Foo;
Foo bar;
foreach(value; bar){}
[/CODE]
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 03 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3668
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |patch
CC| |clugdbug yahoo.com.au
There's a missing toBaseType() in the Foreach code which was introduced in
D2.032.
PATCH:
statement.c, line 1525, in ForeachStatement::semantic():
------
Identifier *id = Lexer::uniqueId("__aggr");
ExpInitializer *ie = new ExpInitializer(loc, new SliceExp(loc, aggr,
NULL, NULL));
- VarDeclaration *tmp = new VarDeclaration(loc,
aggr->type->nextOf()->arrayOf(), id, ie);
+ VarDeclaration *tmp = new VarDeclaration(loc,
aggr->type->toBasetype()->nextOf()->arrayOf(), id, ie);
Expression *tmp_length = new DotIdExp(loc, new VarExp(loc, tmp),
Id::length);
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 04 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3668
Andrei Alexandrescu <andrei metalanguage.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |andrei metalanguage.com
Resolution| |WONTFIX
08:47:18 PST ---
typedef is gone.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 04 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3668 --- huh ? it is gone ? in dmd 2.032 - 2.039 it is certainly not, otherwise the compiler would complain using it (puting this crash aside). since when is typedef gone and why ? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 04 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3668
Stephan Dilly <spam extrawurst.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|WONTFIX |
---
whatever is meant by "typedef is gone" the compiler should not crash under any
circumstance. feel free to change the keywords to ice-on-invalid if that is the
actual case.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 04 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3668
Walter Bright <bugzilla digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bugzilla digitalmars.com
01:41:48 PST ---
Changeset 350
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 23 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3668 22:40:54 PST --- fixed dmd 1.056 and 2.040 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 30 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3668
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 31 2010









d-bugmail puremagic.com 