February 13, 2008
I'm getting a load of errors when compiling my projects using DSSS and  DMD 2.010.

I have both DMD 1.026 and 2.010 installed, and when changing PATH to use 1.026 instead, things work as they should.

Anyways, to the errors:

C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(23): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(24): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(25): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(26): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(27): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(28): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(29): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(30): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(31): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(39): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(40): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(41): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(42): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\stdio.d(43): enum member expected
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\string.d(70): enum declaration is invali
d
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\string.d(71): enum declaration is invali
d
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\bitmanip.d(45): enum declaration is inva
lid
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\bitmanip.d(167): enum declaration is inv
alid
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\bitmanip.d(167): no identifier for decla
rator bitfields
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\windows\windows.d(256): found 'MAILSLO
T_NO_MESSAGE' when expecting ','
C:\DMD\DM\D2.0\..\..\src\phobos\2.0\std\c\windows\windows.d(256): enum member ex
pected

The code is a simple hello world program:

/////////////
module hello;
import std.stdio;

int main(char[][] args)
{
	writefln("Hello world");
	return 0;
}
/////////////

It compiles just fine when invoking dmd from the commandline, only dsss gets it mad.

Any ideas of what could be wrong?

Regard, Simen
February 13, 2008
Simen Kjaeraas wrote:
> It compiles just fine when invoking dmd from the commandline, only dsss  gets it mad.
> 
> Any ideas of what could be wrong?

Rebuild, which dsss uses to do the actual building, is based on the dmd front end.  Currently version 2.007 or something.  A new syntax for enums was introduced in dmd 2.009.  Since rebuild uses an older version of the parser, it chokes on this new syntax.

Bud doesn't have this particular problem.