[Issue 2564] CTFE: the index in a tuple foreach is uninitialized (bogus error)
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Aug 25 00:15:17 PDT 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2564
Don <clugdbug at yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |patch
--- Comment #1 from Don <clugdbug at yahoo.com.au> 2009-08-25 00:15:16 PDT ---
Actually it's nothing to do with foreach. Reduced test case shows it is use of
'enum' manifest constants. They're not getting constant-folded correctly.
int bug2564()
{
enum int Q=0;
string [2] s = ["a", "b"];
assert(s[Q].dup=="a");
return 0;
}
static int bug2564b = bug2564();
PATCH:
In interpret.c, getVarExp.
- if ((v->isConst() || v->isInvariant()) && v->init
+ if ((v->isConst() || v->isInvariant() || v->storage_class & STCmanifest)
&& v->init
--
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