diff -uNr dmd-0.117/dmd/src/dmd/class.c dmd-0.118/dmd/src/dmd/class.c --- dmd-0.117/dmd/src/dmd/class.c 2005-03-10 09:32:48.000000000 +0100 +++ dmd-0.118/dmd/src/dmd/class.c 2005-03-12 14:52:10.000000000 +0100 @@ -116,14 +116,14 @@ { int i; unsigned offset; - //printf("ClassDeclaration::semantic(%s), type = %p, sizeok = %d\n", toChars(), type, sizeok); + //printf("ClassDeclaration::semantic(%s), type = %p, sizeok = %d, this = %p\n", toChars(), type, sizeok, this); //printf("parent = %p, '%s'\n", sc->parent, sc->parent ? sc->parent->toChars() : ""); //{ static int n; if (++n == 20) *(char*)0=0; } if (!scope) { - if (sc->parent && !sc->parent->isModule()) + if (!parent && sc->parent && !sc->parent->isModule()) parent = sc->parent; type = type->semantic(loc, sc); diff -uNr dmd-0.117/dmd/src/dmd/mangle.c dmd-0.118/dmd/src/dmd/mangle.c --- dmd-0.117/dmd/src/dmd/mangle.c 2005-03-09 18:56:02.000000000 +0100 +++ dmd-0.118/dmd/src/dmd/mangle.c 2005-03-12 14:52:36.000000000 +0100 @@ -133,6 +133,8 @@ { Dsymbol *parentsave = parent; + //printf("ClassDeclaration::mangle() %s.%s\n", parent->toChars(), toChars()); + /* These are reserved to the compiler, so keep simple * names for them. */ diff -uNr dmd-0.117/dmd/src/dmd/mars.c dmd-0.118/dmd/src/dmd/mars.c --- dmd-0.117/dmd/src/dmd/mars.c 2005-03-07 22:33:28.000000000 +0100 +++ dmd-0.118/dmd/src/dmd/mars.c 2005-03-12 13:48:28.000000000 +0100 @@ -49,7 +49,7 @@ copyright = "Copyright (c) 1999-2005 by Digital Mars"; written = "written by Walter Bright"; - version = "v0.117"; + version = "v0.118"; global.structalign = 8; memset(¶ms, 0, sizeof(Param));