The DStress tests enum_39_A through enum_39_E are all caused by one simple mistake in the parser. It only results in incorrect error messages, but is also very easy to fix.
Attaching a patch to show the problem and solution.
Thanks,
-[Unknown]
Comment #1 by bugs-d — 2006-03-22T02:01:21Z
Created attachment 7
Pull the new loc while parsing EnumMembers.
This is pretty darn straight forward.
It's in the code that parses EnumMembers inside EnumDeclarations, and it sets loc to this->loc only once for the EnumDeclaration, but never for any of the EnumMembers (which may be on separate lines.)
This loc is only used to pass where the member was defined (so any error messages which depend on that member would have been wrong, including conflicts the other way around.)
-[Unknown]
Comment #2 by larsivar — 2006-05-09T05:00:52Z
This bug is listed as fixed in dmd 0.151, could someone verify it?