diff -uNr dmd-0.156/dmd/src/dmd/mars.c dmd-0.157/dmd/src/dmd/mars.c --- dmd-0.156/dmd/src/dmd/mars.c 2006-04-28 10:52:48.000000000 +0200 +++ dmd-0.157/dmd/src/dmd/mars.c 2006-05-10 11:34:14.000000000 +0200 @@ -58,7 +58,7 @@ copyright = "Copyright (c) 1999-2006 by Digital Mars"; written = "written by Walter Bright"; - version = "v0.156"; + version = "v0.157"; global.structalign = 8; memset(¶ms, 0, sizeof(Param)); diff -uNr dmd-0.156/dmd/src/phobos/internal/aaA.d dmd-0.157/dmd/src/phobos/internal/aaA.d --- dmd-0.156/dmd/src/phobos/internal/aaA.d 2006-04-28 00:26:18.000000000 +0200 +++ dmd-0.157/dmd/src/phobos/internal/aaA.d 2006-05-10 12:13:22.000000000 +0200 @@ -297,7 +297,6 @@ return null; auto pkey = cast(void *)(&valuesize + 1); - aaA* e; auto keysize = aligntsize(keyti.tsize()); auto len = aa.a.b.length; @@ -306,8 +305,8 @@ auto key_hash = keyti.getHash(pkey); //printf("hash = %d\n", key_hash); size_t i = key_hash % len; - auto pe = &aa.a.b[i]; - while ((e = *pe) != null) + auto e = aa.a.b[i]; + while (e != null) { int c; c = key_hash - e.hash; @@ -319,9 +318,9 @@ } if (c < 0) - pe = &e.left; + e = e.left; else - pe = &e.right; + e = e.right; } } return null; // not found, caller will throw exception @@ -352,7 +351,7 @@ //printf("_aaIn(), .length = %d, .ptr = %x\n", aa.a.length, cast(uint)aa.a.ptr); auto len = aa.a.b.length; - if (len > 1) + if (len) { auto key_hash = keyti.getHash(pkey); //printf("hash = %d\n", key_hash); diff -uNr dmd-0.156/dmd/src/phobos/internal/gc/gcx.d dmd-0.157/dmd/src/phobos/internal/gc/gcx.d --- dmd-0.156/dmd/src/phobos/internal/gc/gcx.d 2006-04-28 00:26:18.000000000 +0200 +++ dmd-0.157/dmd/src/phobos/internal/gc/gcx.d 2006-05-10 12:13:22.000000000 +0200 @@ -2041,7 +2041,10 @@ int opCmp(Pool *p2) { - return baseAddr - p2.baseAddr; + if (baseAddr < p2.baseAddr) + return -1; + else + return baseAddr > p2.baseAddr; } } diff -uNr dmd-0.156/dmd/src/phobos/std/string.d dmd-0.157/dmd/src/phobos/std/string.d --- dmd-0.156/dmd/src/phobos/std/string.d 2006-04-28 00:26:16.000000000 +0200 +++ dmd-0.157/dmd/src/phobos/std/string.d 2006-05-10 12:13:20.000000000 +0200 @@ -111,9 +111,9 @@ * Compare two strings. cmp is case sensitive, icmp is case insensitive. * Returns: *
< 0 | s1 < s2 - * |
= 0 | s1 == s2 - * |
> 0 | s1 > s2 + * $(TR $(TD < 0) $(TD s1 < s2)) + * $(TR $(TD = 0) $(TD s1 == s2)) + * $(TR $(TD > 0) $(TD s1 > s2)) * |