2008-12-12 Arthur Loiret Bugzilla 929: * dmd/mtype.c: Provide isZeroInit() overload in TypeAArray that returns TRUE. * dmd/mtype.h: Add prototype for TypeAArray::isZeroInit(). * dmd2/mtype.c, dmd2/mtype.h: Ditto. 2008-07-21 David Friedman * dmd/root.c, dmd2/root.c: Fix earlier patching error. * phobos/config/x3.c, phobos2/config/x3.c: Fix problem when building under MSYS. * config-lang.in: Remove lang_requires. 2008-07-20 David Friedman * dmd/expression.c, dmd2/expression.c: Make integer conversion fix work for other hosts/targets. 2008-07-20 Arthur Loiret * dmd/expression.c: Fix integer conversion routines on x86_64. Patch from downs , thanks! * dmd2/expression.c: Likewise. * config-lang.in: Add lang_requires="c c++". 2008-07-19 David Friedman * patches/patch-gcc-4.0.x, patches/patch-gcc-4.1.x: Fix infinite loop bug in patch. * patches/patch-apple-gcc-4.0.x: Ditto. * d-lang.cc: Do not assume D_OS_VERSYM is defined. Handle TARGET_xxx_CPP_BUILTINS macros for more targets. 2008-07-17 David Friedman * dmd-script: Append an exe suffix to executables when the target is Windows. * phobos/gcc/deh.d, phobos2/gcc/deh.d: Fix for sjlj exceptions. 2008-06-16 David Friedman * d-decls.cc: Correct logic for output constanting vars for V1. 2008-06-01 David Friedman Merge DMD.1.30 and 2.014 * dmd-script: Implement -man, -lib and single-object features. * phobos2/Makefile.am: add bigint * phobos2/config/{ldfuncs,ldfuncs-darwin,ldfuncs-ppclinux,noldfuncs}, Merge nanl change from std/c/math.d * phobos2/gcc/support.d: Merge std/c/math.d changes. * d-objfile.cc (obj_append): Implement. * phobos2/std/c/unix/unix.d: Merge linux.d and socket.d changes * d-glue.cc, d-irstate.cc, d-lang.cc: Update * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge 2008-05-26 David Friedman * asmstmt.cc, d-decls.cc, d-glue.cc, d-misc.c, d-objfile.{cc, h}: Fix for -combine compilation. Remove fileContext global and clean up generation of unique symbol names. * phobos/internal/object.d: Correct merge error ---- * dmd-script, lang.opt, d-lang.cc, : support -ignore Merge DMD 1.029 and 2.013 * phobos2/std/perf.d: use std.c.unix.unix 2008-05-22 Arthur Loiret * target-ver-syms.sh: Add missing CPUs and fix d_cpu_versym/d_cpu_versym64 for each. * d-lang.cc: Fix build on non biarched 64-bit archs (alpha, ia64, ...) and fix 64-bit cpu detection. * Move patch-* to patches/ * setup-gcc.sh: Update. 2008-05-10 David Friedman * lang-specs.h: Support a "cc1d" spec. (Bugzilla 2068) Merge DMD 1.028 and 2.012 * d-codegen.{h,cc}: Add postblitting array libcalls. * phobos2/internal/arrayassign.d (_d_arraysetassign, _d_arraysetctor): Use size_t. * d-glue.cc (AssignExp::toElem): Postblit-aware code * phobos2/Makefile.am: Add arrayssign.d. Remove math2.d. * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge 2008-05-03 David Friedman * d-dmd-gcc.h, d-glue.cc, dmd*/toobj.c: Cleanup: Remove unused d_gcc_aggregate_dtors. 2008-05-02 David Friedman Merge DMD 1.027 and 2.011 * termios.d: Point to std.c.unix.unix. Leave original termios.d as termios.d.orig-dmd * asmstsmt.cc: Implement blockExit * phobos2/config/unix.x3: Add termios stuff * phobos2/std/c/unix/unix.d: Merge new funcs from std.c.linux.d * d-objfile.cc: Implement stub obj_startaddress * d-glue.cc (ForStatement::toIR): condition may be NULL (DeleteExp::toIR): Use libcalls for interfaces * dmd*/clone.c, dmd*/e2ir.c: New files. * Make-lang.in: Add new clone.c * d-codegen.{h, cc}, d-glue.cc: Use _d_callinterfacefinalizer. Also use _d_delinterface instead of casting. * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge 2008-04-27 David Friedman Merge DMD 1.026 and 2.010 * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge --- * d-lang.cc (d_write_global_declarations): Make earlier change regarding cgraph_optimize only apply to 4.0.x. --- * d-decls.cc (VarDeclartion::toSymbol): Change for V2 STCmanifest. Make more constant vars have static storage (instead of making CONST_DECLs) in both V1 and V2. * dmd2/constfold.c (Cmp): Compare wchar and dchar strings portably. * asmstmt.cc (ExtAsmStatement::semantic): Heuristic for evaluating operands: If an input operand, evaluate. * d-asm-i386.h: Make previous change apply to V1. * d-glue.cc (TypeEnum::toCtype): Update. Phobos changes (applies to V2 Phobos as well): * phobos/Makefile.am, phobos/configure.in: Deal with strerror_r portability. * phobos/Makefile.in, phobos/configure, phobos/config.h.in: Updated. * phobos/gcc/cbridge_strerror.c: New file. * phobos/std/c/string.d: Replace non-portable strerror_r with _d_gnu_cbridge_strerror. * phobos/std/file.d, phobos/std/loader.d, phobos/std/process.d, phobos/std/socket.d, phobos/std/stdio.d: Use _d_gnu_cbridge_strerror. Merge DMD 2.009: * dmd2/..., phobos2/...: Merge. Merge DMD 1.025: * dmd/..., phobos/...: Merge. 2008-04-25 David Friedman * asmstmt.cc, d-asm-i386.h: Handle some other cases for constant floating point operands. 2008-04-19 David Friedman * dmd/toobj.c, dmd2/toobj.c (EnumDeclaration::toObjFile): Output initializer correctly. * d-decls.cc (EnumDeclaration::toInitializer): Correctly set up initializer symbol. (Bugzilla 1746) 2008-04-17 David Friedman * dmd/toobj.c (InterfaceDeclaration::toObjFile): Fix error. (Bugzilla 1844) 2008-04-16 David Friedman * d-codegen.{h, cc}: Clean up nested function / nested class / closure code. * phobos/std/c/stdlib.d, phobos2/...: Remove comment that hides atof. (Bugzilla 1888) 2008-03-11 David Friedman * d-glue.cc: cleanup * dmd/expression.c (DotVarExp::semantic): Apply fix from dmd2/ * dmd2/expression.c (DotVarExp::semantic): Move fix to better location. 2008-03-09 David Friedman * dmd2/func.c (FuncDeclaration::needsClosure): Closures fix: Change test from isVirtual to isThis. * dmd2/expression.c (DotVarExp::semantic): Note change from DMD. ---- * patch-build_gcc-5465: Correctly build driver-driver * phobos*/Makefile.am (MAIN_OBJS): Add std/cover.o * phobos2/std/file.d: use 'mkdir -p' in unittest * d-builtins2.cc: Fixes for pointer-to-function types (for V2) * d-codegen.cc: Add _d_allocmemory libcall. (emitLocalVar): Rework. (var): New function to handle static-frame/closure variables (convertTo): Use typesSame instead of typesCompatible (assignValue): New function to handle Exp(v=value) vs. Exp(value) (getFrameForFunction, getFrameForNestedClass): New interface to get frames for nested functions. (functionNeedsChain): Return false for nested functions that take closures. * d-decls.cc: Changes for const/invariant/STCinit * d-glue.cc: Use new interface for nested functions. Use IRState::var instead of v->toSymbol()->Stree. Create closures. * d-lang.cc: Implement CONVERT_PARM_FOR_INLINING hook * d-objfile.cc: Add case for closure-using function when setting the link-once attribute. * package/simple.sh: install .../include/d2 * patch-build_gcc-4.0, patch-build_gcc-5465: Support D 2.0 includes and libraries. * phobos2/std/bitmanip.d: Apply previous bitarray.d changes. * phobos*/std/typeinfo/ti_ptr.d (getHash): Cast to hash_t. * d-decls.cc (VarDeclaration::toSymbol): For D 2.0, use isInvariant() and STCinit as criteria for making CONST_DECLs and setting TREE_READONLY. * phobos2/std/c/linux/linux.d: Do not import std.c.dirent. * phobos2/std/c/dirent.d: Deprecated std.c.dirent. * phobos2/std/c/unix/unix.d: Move dirent/DIR routines here. * phobos*/std/c/darwin/ldblcompat.d: declare constants as 'string' Merge DMD 2.008: * dmd2/..., phobos2/...: Merge. Merge DMD 1.024: * phobos*/config/unix.x3: ensure MSG_NOSIGNAL is defined * dmd/..., phobos/...: Merge. ------ * patch-apple-gcc-4.0.x, patch-apple-gcc-5465: Include patch for SRA pass like the other 4.x patches. * d-codegen.cc (convertTo): Ensure pointers are cast to an unsigned type. * d-objfile.cc (dt2tree_list_of_elems): Always generate a CONSTRUCTOR for struct data. (ObjectFile::ObjectFile): Use NULL_TREE for file context instead of TRANSLATION_UNIT_DECL. * d-lang.cc (d_write_global_declarations): Call debug_hooks->global_decl before cgraph_optimize so that nested class functions do not get passed to dwarf2out before the outer class functions. * Rename patch-build_gcc-4.0 to patch-build_gcc-4.0.x Copyright (C) 2008 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.