diff -c -r gcc-4.6.3/gcc/d/dfrontend/constfold.c gcc-4.6.3/gcc/d/dfrontend/constfold.c *** gcc-4.6.3/gcc/d/dfrontend/constfold.c 2012-11-14 08:10:54.000000000 +0900 --- gcc-4.6.3/gcc/d/dfrontend/constfold.c 2012-12-16 15:33:52.820625000 +0900 *************** *** 581,592 **** if (e1->type->isfloating()) { r = new RealExp(loc, e1->toReal(), e1->type); ! v = new RealExp(loc, ldouble(1.0), e1->type); } else { r = new RealExp(loc, e1->toReal(), Type::tfloat64); ! v = new RealExp(loc, ldouble(1.0), Type::tfloat64); } while (n != 0) --- 581,592 ---- if (e1->type->isfloating()) { r = new RealExp(loc, e1->toReal(), e1->type); ! v = new RealExp(loc, 1, e1->type); } else { r = new RealExp(loc, e1->toReal(), Type::tfloat64); ! v = new RealExp(loc, 1, Type::tfloat64); } while (n != 0) *************** *** 598,604 **** } if (neg) ! v = Div(v->type, new RealExp(loc, ldouble(1.0), v->type), v); if (type->isintegral()) e = new IntegerExp(loc, v->toInteger(), type); --- 598,604 ---- } if (neg) ! v = Div(v->type, new RealExp(loc, 1, v->type), v); if (type->isintegral()) e = new IntegerExp(loc, v->toInteger(), type); diff -c -r gcc-4.6.3/libphobos/libdruntime/gc/gcx.d gcc-4.6.3/libphobos/libdruntime/gc/gcx.d *** gcc-4.6.3/libphobos/libdruntime/gc/gcx.d 2012-11-14 08:10:54.000000000 +0900 --- gcc-4.6.3/libphobos/libdruntime/gc/gcx.d 2012-12-16 15:33:52.827625400 +0900 *************** *** 2422,2428 **** if (running) onInvalidMemoryOperationError(); ! running = 1; thread_suspendAll(); --- 2422,2428 ---- if (running) onInvalidMemoryOperationError(); ! //running = 1; thread_suspendAll(); diff -c -r gcc-4.6.3/libphobos/libdruntime/Makefile.in gcc-4.6.3/libphobos/libdruntime/Makefile.in *** gcc-4.6.3/libphobos/libdruntime/Makefile.in 2012-11-14 08:10:54.000000000 +0900 --- gcc-4.6.3/libphobos/libdruntime/Makefile.in 2012-12-18 01:19:46.984125500 +0900 *************** *** 249,255 **** RT_WINDOWS_OBJS = core/sys/windows/dbghelp.o core/sys/windows/dll.o \ core/sys/windows/stacktrace.o core/sys/windows/threadaux.o \ ! core/sys/windows/windows.o core/sys/windows/mingwex.o # This should not be linked into a shared library. --- 249,255 ---- RT_WINDOWS_OBJS = core/sys/windows/dbghelp.o core/sys/windows/dll.o \ core/sys/windows/stacktrace.o core/sys/windows/threadaux.o \ ! core/sys/windows/windows.o # This should not be linked into a shared library. *************** *** 272,279 **** core/sync/exception.di core/sync/mutex.di core/sync/rwmutex.di \ core/sync/semaphore.di \ \ - core/sys/freebsd/sys/event.di \ - \ core/sys/osx/mach/dyld.di core/sys/osx/mach/getsect.di \ core/sys/osx/mach/kern_return.di core/sys/osx/mach/loader.di \ core/sys/osx/mach/port.di core/sys/osx/mach/semaphore.di \ --- 272,277 ---- diff -c -r gcc-4.6.3/libphobos/Makefile.in gcc-4.6.3/libphobos/Makefile.in *** gcc-4.6.3/libphobos/Makefile.in 2012-11-14 08:10:54.000000000 +0900 --- gcc-4.6.3/libphobos/Makefile.in 2012-12-16 15:35:35.053472400 +0900 *************** *** 313,319 **** WINDOWS_OBJS = std/c/windows/com.o std/c/windows/stat.o std/c/wcharh.o \ std/c/windows/windows.o std/c/windows/winsock.o \ std/windows/charset.o std/windows/iunknown.o std/windows/registry.o \ ! std/windows/syserror.o std/__fileinit.o std/internal/windows/advapi32.o ALL_PHOBOS_OBJS = $(D_EXTRA_OBJS) $(MAIN_OBJS) $(ZLIB_OBJS) --- 313,319 ---- WINDOWS_OBJS = std/c/windows/com.o std/c/windows/stat.o std/c/wcharh.o \ std/c/windows/windows.o std/c/windows/winsock.o \ std/windows/charset.o std/windows/iunknown.o std/windows/registry.o \ ! std/windows/syserror.o std/internal/windows/advapi32.o ALL_PHOBOS_OBJS = $(D_EXTRA_OBJS) $(MAIN_OBJS) $(ZLIB_OBJS) diff -c -r gcc-4.6.3/libphobos/std/string.d gcc-4.6.3/libphobos/std/string.d *** gcc-4.6.3/libphobos/std/string.d 2012-11-14 08:10:54.000000000 +0900 --- gcc-4.6.3/libphobos/std/string.d 2012-12-16 15:33:52.833625800 +0900 *************** *** 2720,2726 **** * ) */ ! string format(...) { /+ // @@@BUG@@@ Fails due to regression bug 2479. char[] s; --- 2720,2726 ---- * ) */ ! string xformat(...) { /+ // @@@BUG@@@ Fails due to regression bug 2479. char[] s; *************** *** 2759,2765 **** ---- * ) */ ! char[] sformat(char[] s, ...) { /+ // @@@BUG@@@ Fails due to regression bug 2479. --- 2759,2765 ---- ---- * ) */ ! char[] xsformat(char[] s, ...) { /+ // @@@BUG@@@ Fails due to regression bug 2479. *************** *** 2841,2847 **** * deprecation once format has been updated. */ ! string xformat(Char, Args...)(in Char[] fmt, Args args) { auto w = appender!string(); auto n = formattedWrite(w, fmt, args); --- 2841,2847 ---- * deprecation once format has been updated. */ ! string format(Char, Args...)(in Char[] fmt, Args args) { auto w = appender!string(); auto n = formattedWrite(w, fmt, args); *************** *** 2886,2892 **** * Returns: filled slice of $(D_PARAM buf) */ ! char[] xsformat(Char, Args...)(char[] buf, in Char[] fmt, Args args) { size_t i; --- 2886,2892 ---- * Returns: filled slice of $(D_PARAM buf) */ ! char[] sformat(Char, Args...)(char[] buf, in Char[] fmt, Args args) { size_t i; *************** *** 2898,2904 **** auto n = encode(enc, c); if (buf.length < i + n) ! onRangeError("std.string.xsformat", 0); buf[i .. i + n] = enc[0 .. n]; i += n; --- 2898,2904 ---- auto n = encode(enc, c); if (buf.length < i + n) ! onRangeError("std.string.sformat", 0); buf[i .. i + n] = enc[0 .. n]; i += n; *************** *** 2906,2912 **** void put(const(char)[] s) { if (buf.length < i + s.length) ! onRangeError("std.string.xsformat", 0); buf[i .. i + s.length] = s[]; i += s.length; --- 2906,2912 ---- void put(const(char)[] s) { if (buf.length < i + s.length) ! onRangeError("std.string.sformat", 0); buf[i .. i + s.length] = s[]; i += s.length;