diff -uNr dmd-0.138/dmd/src/dmd/mars.c dmd-0.139/dmd/src/dmd/mars.c --- dmd-0.138/dmd/src/dmd/mars.c 2005-11-02 13:30:40.000000000 +0100 +++ dmd-0.139/dmd/src/dmd/mars.c 2005-11-06 23:34:18.000000000 +0100 @@ -51,7 +51,7 @@ copyright = "Copyright (c) 1999-2005 by Digital Mars"; written = "written by Walter Bright"; - version = "v0.138"; + version = "v0.139"; global.structalign = 8; memset(¶ms, 0, sizeof(Param)); @@ -382,7 +382,7 @@ global.params.debugc = 1; else if (strcmp(p + 1, "-f") == 0) global.params.debugf = 1; - else if (strcmp(p + 1, "--help") == 0) + else if (strcmp(p + 1, "-help") == 0) usage(); else if (strcmp(p + 1, "-r") == 0) global.params.debugr = 1; diff -uNr dmd-0.138/dmd/src/dmd/mtype.c dmd-0.139/dmd/src/dmd/mtype.c --- dmd-0.138/dmd/src/dmd/mtype.c 2005-10-25 14:50:42.000000000 +0200 +++ dmd-0.139/dmd/src/dmd/mtype.c 2005-11-06 23:36:20.000000000 +0100 @@ -52,7 +52,11 @@ */ int PTRSIZE = 4; +#if TARGET_LINUX +int REALSIZE = 12; +#else int REALSIZE = 10; +#endif int Tsize_t = Tuns32; int Tptrdiff_t = Tint32; @@ -191,7 +195,11 @@ else { PTRSIZE = 4; +#if TARGET_LINUX + REALSIZE = 12; +#else REALSIZE = 10; +#endif Tsize_t = Tuns32; Tptrdiff_t = Tint32; } diff -uNr dmd-0.138/dmd/src/dmd/todt.c dmd-0.139/dmd/src/dmd/todt.c --- dmd-0.138/dmd/src/dmd/todt.c 2005-06-16 00:01:42.000000000 +0200 +++ dmd-0.139/dmd/src/dmd/todt.c 2005-11-06 23:36:20.000000000 +0100 @@ -407,6 +407,8 @@ return pdt; } +static char zeropad[2]; + dt_t **RealExp::toDt(dt_t **pdt) { d_float32 fvalue; @@ -429,6 +431,9 @@ case Tfloat80: evalue = value; pdt = dtnbytes(pdt,10,(char *)&evalue); +#if TARGET_LINUX + pdt = dtnbytes(pdt,2,zeropad); +#endif break; default: @@ -461,6 +466,9 @@ case Timaginary80: evalue = value; pdt = dtnbytes(pdt,10,(char *)&evalue); +#if TARGET_LINUX + pdt = dtnbytes(pdt,2,zeropad); +#endif break; default: @@ -495,8 +503,14 @@ case Tcomplex80: evalue = creall(value); pdt = dtnbytes(pdt,10,(char *)&evalue); +#if TARGET_LINUX + pdt = dtnbytes(pdt,2,zeropad); +#endif evalue = cimagl(value); pdt = dtnbytes(pdt,10,(char *)&evalue); +#if TARGET_LINUX + pdt = dtnbytes(pdt,2,zeropad); +#endif break; default: