8sa1-gcc/gcc/d/ChangeLog-2008
Iain Buclaw b4c522fabd Add D front-end, libphobos library, and D2 testsuite.
ChangeLog:

	* Makefile.def (target_modules): Add libphobos.
	(flags_to_pass): Add GDC, GDCFLAGS, GDC_FOR_TARGET and
	GDCFLAGS_FOR_TARGET.
	(dependencies): Make libphobos depend on libatomic, libbacktrace
	configure, and zlib configure.
	(language): Add language d.
	* Makefile.in: Rebuild.
	* Makefile.tpl (BUILD_EXPORTS): Add GDC and GDCFLAGS.
	(HOST_EXPORTS): Add GDC.
	(POSTSTAGE1_HOST_EXPORTS): Add GDC and GDC_FOR_BUILD.
	(BASE_TARGET_EXPORTS): Add GDC.
	(GDC_FOR_BUILD, GDC, GDCFLAGS): New variables.
	(GDC_FOR_TARGET, GDC_FLAGS_FOR_TARGET): New variables.
	(EXTRA_HOST_FLAGS): Add GDC.
	(STAGE1_FLAGS_TO_PASS): Add GDC.
	(EXTRA_TARGET_FLAGS): Add GDC and GDCFLAGS.
	* config-ml.in: Treat GDC and GDCFLAGS like other compiler/flag
	environment variables.
	* configure: Rebuild.
	* configure.ac: Add target-libphobos to target_libraries.  Set and
	substitute GDC_FOR_BUILD and GDC_FOR_TARGET.

config/ChangeLog:

	* multi.m4: Set GDC.

gcc/ChangeLog:

	* Makefile.in (tm_d_file_list, tm_d_include_list): New variables.
	(TM_D_H, D_TARGET_DEF, D_TARGET_H, D_TARGET_OBJS): New variables.
	(tm_d.h, cs-tm_d.h, default-d.o): New rules.
	(d/d-target-hooks-def.h, s-d-target-hooks-def-h): New rules.
	(s-tm-texi): Also check timestamp on d-target.def.
	(generated_files): Add TM_D_H and d-target-hooks-def.h.
	(build/genhooks.o): Also depend on D_TARGET_DEF.
	* config.gcc (tm_d_file, d_target_objs, target_has_targetdm): New
	variables.
	* config/aarch64/aarch64-d.c: New file.
	* config/aarch64/aarch64-linux.h (GNU_USER_TARGET_D_CRITSEC_SIZE):
	Define.
	* config/aarch64/aarch64-protos.h (aarch64_d_target_versions): New
	prototype.
	* config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Define.
	* config/aarch64/t-aarch64 (aarch64-d.o): New rule.
	* config/arm/arm-d.c: New file.
	* config/arm/arm-protos.h (arm_d_target_versions): New prototype.
	* config/arm/arm.h (TARGET_D_CPU_VERSIONS): Define.
	* config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
	* config/arm/t-arm (arm-d.o): New rule.
	* config/default-d.c: New file.
	* config/glibc-d.c: New file.
	* config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/i386/i386-d.c: New file.
	* config/i386/i386-protos.h (ix86_d_target_versions): New prototype.
	* config/i386/i386.h (TARGET_D_CPU_VERSIONS): Define.
	* config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
	(GNU_USER_TARGET_D_CRITSEC_SIZE): Define.
	* config/i386/t-i386 (i386-d.o): New rule.
	* config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Define.
	* config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
	* config/mips/mips-d.c: New file.
	* config/mips/mips-protos.h (mips_d_target_versions): New prototype.
	* config/mips/mips.h (TARGET_D_CPU_VERSIONS): Define.
	* config/mips/t-mips (mips-d.o): New rule.
	* config/powerpcspe/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/powerpcspe/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/powerpcspe/powerpcspe-d.c: New file.
	* config/powerpcspe/powerpcspe-protos.h (rs6000_d_target_versions):
	New prototype.
	* config/powerpcspe/powerpcspe.c (rs6000_output_function_epilogue):
	Support GNU D by using 0 as the language type.
	* config/powerpcspe/powerpcspe.h (TARGET_D_CPU_VERSIONS): Define.
	* config/powerpcspe/t-powerpcspe (powerpcspe-d.o): New rule.
	* config/riscv/riscv-d.c: New file.
	* config/riscv/riscv-protos.h (riscv_d_target_versions): New
	prototype.
	* config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Define.
	* config/riscv/t-riscv (riscv-d.o): New rule.
	* config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/rs6000/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/rs6000/rs6000-d.c: New file.
	* config/rs6000/rs6000-protos.h (rs6000_d_target_versions): New
	prototype.
	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
	Support GNU D by using 0 as the language type.
	* config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS): Define.
	* config/rs6000/t-rs6000 (rs6000-d.o): New rule.
	* config/s390/s390-d.c: New file.
	* config/s390/s390-protos.h (s390_d_target_versions): New prototype.
	* config/s390/s390.h (TARGET_D_CPU_VERSIONS): Define.
	* config/s390/t-s390 (s390-d.o): New rule.
	* config/sparc/sparc-d.c: New file.
	* config/sparc/sparc-protos.h (sparc_d_target_versions): New
	prototype.
	* config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Define.
	* config/sparc/t-sparc (sparc-d.o): New rule.
	* config/t-glibc (glibc-d.o): New rule.
	* configure: Regenerated.
	* configure.ac (tm_d_file): New variable.
	(tm_d_file_list, tm_d_include_list, d_target_objs): Add substitutes.
	* doc/contrib.texi (Contributors): Add self for the D frontend.
	* doc/frontends.texi (G++ and GCC): Mention D as a supported language.
	* doc/install.texi (Configuration): Mention libphobos as an option for
	--enable-shared.  Mention d as an option for --enable-languages.
	(Testing): Mention check-d as a target.
	* doc/invoke.texi (Overall Options): Mention .d, .dd, and .di as file
	name suffixes.  Mention d as a -x option.
	* doc/sourcebuild.texi (Top Level): Mention libphobos.
	* doc/standards.texi (Standards): Add section on D language.
	* doc/tm.texi: Regenerated.
	* doc/tm.texi.in: Add @node for D language and ABI, and @hook for
	TARGET_CPU_VERSIONS, TARGET_D_OS_VERSIONS, and TARGET_D_CRITSEC_SIZE.
	* dwarf2out.c (is_dlang): New function.
	(gen_compile_unit_die): Use DW_LANG_D for D.
	(declare_in_namespace): Return module die for D, instead of adding
	extra declarations into the namespace.
	(gen_namespace_die): Generate DW_TAG_module for D.
	(gen_decl_die): Handle CONST_DECLSs for D.
	(dwarf2out_decl): Likewise.
	(prune_unused_types_walk_local_classes): Handle DW_tag_interface_type.
	(prune_unused_types_walk): Handle DW_tag_interface_type same as other
	kinds of aggregates.
	* gcc.c (default_compilers): Add entries for .d, .dd and .di.
	* genhooks.c: Include d/d-target.def.

gcc/po/ChangeLog:

	* EXCLUDES: Add sources from d/dmd.

gcc/testsuite/ChangeLog:

	* gcc.misc-tests/help.exp: Add D to option descriptions check.
	* gdc.dg/asan/asan.exp: New file.
	* gdc.dg/asan/gdc272.d: New test.
	* gdc.dg/compilable.d: New test.
	* gdc.dg/dg.exp: New file.
	* gdc.dg/gdc254.d: New test.
	* gdc.dg/gdc260.d: New test.
	* gdc.dg/gdc270a.d: New test.
	* gdc.dg/gdc270b.d: New test.
	* gdc.dg/gdc282.d: New test.
	* gdc.dg/gdc283.d: New test.
	* gdc.dg/imports/gdc170.d: New test.
	* gdc.dg/imports/gdc231.d: New test.
	* gdc.dg/imports/gdc239.d: New test.
	* gdc.dg/imports/gdc241a.d: New test.
	* gdc.dg/imports/gdc241b.d: New test.
	* gdc.dg/imports/gdc251a.d: New test.
	* gdc.dg/imports/gdc251b.d: New test.
	* gdc.dg/imports/gdc253.d: New test.
	* gdc.dg/imports/gdc254a.d: New test.
	* gdc.dg/imports/gdc256.d: New test.
	* gdc.dg/imports/gdc27.d: New test.
	* gdc.dg/imports/gdcpkg256/package.d: New test.
	* gdc.dg/imports/runnable.d: New test.
	* gdc.dg/link.d: New test.
	* gdc.dg/lto/lto.exp: New file.
	* gdc.dg/lto/ltotests_0.d: New test.
	* gdc.dg/lto/ltotests_1.d: New test.
	* gdc.dg/runnable.d: New test.
	* gdc.dg/simd.d: New test.
	* gdc.test/gdc-test.exp: New file.
	* lib/gdc-dg.exp: New file.
	* lib/gdc.exp: New file.

libphobos/ChangeLog:

	* Makefile.am: New file.
	* Makefile.in: New file.
	* acinclude.m4: New file.
	* aclocal.m4: New file.
	* config.h.in: New file.
	* configure: New file.
	* configure.ac: New file.
	* d_rules.am: New file.
	* libdruntime/Makefile.am: New file.
	* libdruntime/Makefile.in: New file.
	* libdruntime/__entrypoint.di: New file.
	* libdruntime/__main.di: New file.
	* libdruntime/gcc/attribute.d: New file.
	* libdruntime/gcc/backtrace.d: New file.
	* libdruntime/gcc/builtins.d: New file.
	* libdruntime/gcc/config.d.in: New file.
	* libdruntime/gcc/deh.d: New file.
	* libdruntime/gcc/libbacktrace.d.in: New file.
	* libdruntime/gcc/unwind/arm.d: New file.
	* libdruntime/gcc/unwind/arm_common.d: New file.
	* libdruntime/gcc/unwind/c6x.d: New file.
	* libdruntime/gcc/unwind/generic.d: New file.
	* libdruntime/gcc/unwind/package.d: New file.
	* libdruntime/gcc/unwind/pe.d: New file.
	* m4/autoconf.m4: New file.
	* m4/druntime.m4: New file.
	* m4/druntime/cpu.m4: New file.
	* m4/druntime/libraries.m4: New file.
	* m4/druntime/os.m4: New file.
	* m4/gcc_support.m4: New file.
	* m4/gdc.m4: New file.
	* m4/libtool.m4: New file.
	* src/Makefile.am: New file.
	* src/Makefile.in: New file.
	* src/libgphobos.spec.in: New file.
	* testsuite/Makefile.am: New file.
	* testsuite/Makefile.in: New file.
	* testsuite/config/default.exp: New file.
	* testsuite/lib/libphobos-dg.exp: New file.
	* testsuite/lib/libphobos.exp: New file.
	* testsuite/testsuite_flags.in: New file.

From-SVN: r265573
2018-10-28 19:51:47 +00:00

332 lines
9.0 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2008-12-12 Arthur Loiret <arthur.loiret@u-psud.fr>
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 <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 <David Friedman>
* dmd/expression.c, dmd2/expression.c: Make integer conversion
fix work for other hosts/targets.
2008-07-20 Arthur Loiret <arthur.loiret@u-psud.fr>
* dmd/expression.c: Fix integer conversion routines on x86_64.
Patch from downs <default_357-line@yahoo.de>, thanks!
* dmd2/expression.c: Likewise.
* config-lang.in: Add lang_requires="c c++".
2008-07-19 David Friedman <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 <dvdfrdmn@users.sf.net>
* 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 <dvdfrdmn@users.sf.net>
* d-decls.cc: Correct logic for output constanting vars for V1.
2008-06-01 David Friedman <dvdfrdmn@users.sf.net>
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 <dvdfrdmn@users.sf.net>
* 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 <arthur.loiret@u-psud.fr>
* 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 <dvdfrdmn@users.sf.net>
* 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 <dvdfrdmn@users.sf.net>
* d-dmd-gcc.h, d-glue.cc, dmd*/toobj.c: Cleanup: Remove unused
d_gcc_aggregate_dtors.
2008-05-02 David Friedman <dvdfrdmn@users.sf.net>
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 <dvdfrdmn@users.sf.net>
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 <dvdfrdmn@users.sf.net>
* asmstmt.cc, d-asm-i386.h: Handle some other cases
for constant floating point operands.
2008-04-19 David Friedman <dvdfrdmn@users.sf.net>
* 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 <dvdfrdmn@users.sf.net>
* dmd/toobj.c (InterfaceDeclaration::toObjFile): Fix error.
(Bugzilla 1844)
2008-04-16 David Friedman <dvdfrdmn@users.sf.net>
* 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 <dvdfrdmn@users.sf.net>
* 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 <dvdfrdmn@users.sf.net>
* 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.