aboutsummaryrefslogtreecommitdiff
path: root/gcc/d
AgeCommit message (Collapse)AuthorFilesLines
2019-03-12d/dmd: Merge upstream dmd 7423993c9Iain Buclaw7-13/+80
Fixes C++ mangling for substituted basic types that are target-specific. Introduces a new method that currently does nothing, but could in future make use of flag_abi_version as extern(C++) integration improves in latter versions of the D front-end. Reviewed-on: https://github.com/dlang/dmd/pull/9439 gcc/d/ChangeLog: 2019-03-12 Iain Buclaw <ibuclaw@gdcproject.org> * d-lang.cc (d_init_options): Set global.params.cplusplus to C++14. * d-target.cc (Target::cppFundamentalType): New method. From-SVN: r269611
2019-03-10re PR d/87824 (x86_64-linux multilib issues)Iain Buclaw2-4/+11
PR d/87824 d/dmd: Merge upstream dmd fcc235e8e Associative arrays are value types, which are not covariant with the pointer type typeof(null). Updates https://gcc.gnu.org/PR87824 Reviewed-on: https://github.com/dlang/dmd/pull/9435 From-SVN: r269561
2019-03-10re PR d/89016 (ICE in ArrayLiteralExp::toStringExp, at d/dmd/expression.c:3873)Iain Buclaw2-7/+3
PR d/89016 d/dmd: Merge upstream dmd da26db819 Backports supplementary fix for ICE on importing deprecated modules. Updates https://gcc.gnu.org/PR89016 Reviewed-on: https://github.com/dlang/dmd/pull/9436 From-SVN: r269560
2019-03-10re PR d/88958 (ICE in walk_aliased_vdefs_1, at tree-ssa-alias.c:2887)Iain Buclaw2-1/+7
PR d/88958 d/dmd: Merge upstream dmd 0fc786f49 Backport fix to disallow passing functions as parameters. Fixes https://gcc.gnu.org/PR88958 Reviewed-on: https://github.com/dlang/dmd/pull/9437 From-SVN: r269557
2019-03-09d: Fix ICE in get_frame_for_symbolIain Buclaw2-3/+18
When generating code for a non-nested delegate literal, there is no context pointer required to pass to the function. 2019-03-09 Iain Buclaw <ibuclaw@gdcproject.org> gcc/d/ PR d/89041 * d-codegen.cc (get_frame_for_symbol): Delegate literals defined in global scope don't have a frame pointer. gcc/testsuite/ PR d/89041 * gdc.dg/pr89041.d: New test. From-SVN: r269533
2019-03-07d/dmd: Merge upstream dmd d517c0e6aIain Buclaw7-150/+115
Fixes https://gcc.gnu.org/PR89016 Reviewed-on: https://github.com/dlang/dmd/pull/9427 From-SVN: r269465
2019-03-01d/dmd: Merge dmd upstream ed71446aaIain Buclaw11-24/+123
Backports support for extern(C++, "namespace"), which makes the core.stdcpp package compilable. Added predefined condition for CppRuntime_Gcc unconditionally, as it is unlikely that D code will be linking to anything other than libstdc++ when extern(C++) is used. Reviewed-on: https://github.com/dlang/dmd/pull/9371 gcc/d/ChangeLog: 2019-03-01 Iain Buclaw <ibuclaw@gdcproject.org> * d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined version condition. From-SVN: r269304
2019-02-14Add netbsd support for D compiler and runtimeMaya Rashish2-1/+6
Merges upstream druntime fb4bda91. 2019-02-14 Maya Rashish <coypu@sdf.org> gcc/ChangeLog: * config.gcc (*-*-netbsd*): Add netbsd-d.o * config/netbsd-d.c: New file. * config/t-netbsd: Add netbsd-d.o gcc/d/ChangeLog: * d-system.h: NetBSD is POSIX. libphobos/ChangeLog: * configure.tgt: Add netbsd/x86 as supported target. From-SVN: r268905
2019-02-14Provide __start_minfo/__stop_minfo for linkers that don't (PR d/87864)Rainer Orth3-1/+20
libphobos: PR d/87864 * configure.ac (DRTSTUFF_SPEC): New variable. Substitute it. * libdruntime/m4/druntime/os.m4 (DRUNTIME_OS_MINFO_BRACKETING): New automake conditional. * configure: Regenerate. * libdruntime/gcc/drtstuff.c: New file. * libdruntime/Makefile.am [!DRUNTIME_OS_MINFO_BRACKETING] (DRTSTUFF, toolexeclib_DATA): New variables. (gcc/drtbegin.lo, gcc/drtend.lo): New rules. (libgdruntime_la_LDFLAGS): Use -Wc instead of -Xcompiler. Add -dstartfiles -B../src -Bgcc. (libgdruntime_la_DEPENDENCIES): New variable. (unittest_static_LDFLAGS): Use -Wc instead of -Xcompiler. (libgdruntime_t_la_LDFLAGS): Likewise. (unittest_LDFLAGS): Likewise. * src/Makefile.am (libgphobos_la_LDFLAGS): Use -Wc instead of -Xcompiler. Add -dstartfiles -B../libdruntime/gcc. (unittest_static_LDFLAGS): Use -Wc instead of -Xcompiler. (libgphobos_t_la_LDFLAGS): Likewise. (unittest_LDFLAGS): Likewise. * libdruntime/Makefile.in, src/Makefile.in: Regenerate. * Makefile.in, testsuite/Makefile.in: Regenerate. * libdruntime/rt/sections_elf_shared.d (Minfo_Bracketing): Don't assert. * libdruntime/gcc/config.d.in (Minfo_Bracketing): Remove. * src/drtstuff.spec: New file. * src/libgphobos.spec.in (DRTSTUFF_SPEC): Substitute. (*lib): Only pass SPEC_PHOBOS_DEPS without -debuglib, -defaultlib, -nophoboslib. * testsuite/testsuite_flags.in <--gdcldflags> (GDCLDFLAGS): Add -B${BUILD_DIR}/libdruntime/gcc. gcc/d: PR d/87864 * lang.opt (dstartfiles): New option. * d-spec.cc (need_spec): New variable. (lang_specific_driver) <OPT_dstartfiles>: Enable need_spec. (lang_specific_pre_link): Also load libgphobos.spec if need_spec. gcc/testsuite: PR d/87864 * lib/gdc.exp (gdc_link_flags): Add path to drtbegin.o/drtend.o if present. From-SVN: r268886
2019-02-10d/dmd: Merge upstream dmd 39edbe17eIain Buclaw2-2/+9
Backported fix from upstream dmd 2.079 for an internal compiler error that occurred during semantic analysis on a recursive field initializer. Fixes https://gcc.gnu.org/PR88989 Reviewed-on: https://github.com/dlang/dmd/pull/9284 From-SVN: r268740
2019-01-26Fix ICE when handling void initialized manifest constants.Iain Buclaw2-1/+10
gcc/d/ChangeLog: 2019-01-26 Iain Buclaw <ibuclaw@gdcproject.org> PR d/89042 * decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if handling a void initialized manifest constant. gcc/testsuite/ChangeLog: 2019-01-26 Iain Buclaw <ibuclaw@gdcproject.org> PR d/89042 * gdc.dg/pr89042a.d: New test. * gdc.dg/pr89042b.d: New test. From-SVN: r268304
2019-01-22d/dmd: Merge dmd upstream e21c07e84Iain Buclaw2-2/+2
Fixes bootstrap regression introduced by the previous merge. Reviewed-on: https://github.com/dlang/dmd/pull/9283 From-SVN: r268167
2019-01-21Merge dmd upstream 180465274Iain Buclaw17-324/+481
Reduces the memory footprint of the CTFE interpreter by replacing new with emplacement new in many places. gcc/d/ChangeLog: 2019-01-21 Iain Buclaw <ibuclaw@gdcproject.org> * d-frontend.cc (Compiler::paintAsType): Update for new signature. From-SVN: r268124
2019-01-20[D] Don't predefine GNU_StackGrowsDown on every target.Iain Buclaw2-3/+7
Every back-end defines STACK_GROWS_DOWNWARD, the condition should instead be checking whether it was defined as 1 or 0. gcc/d/ChangeLog: 2019-01-20 Iain Buclaw <ibuclaw@gdcproject.org> * d-builtins.cc (d_init_versions): Check value of STACK_GROWS_DOWNWARD. From-SVN: r268106
2019-01-20[D] Fix identity comparison for structs with complex float fields.Iain Buclaw4-25/+57
gcc/d/ChangeLog: 2019-01-20 Iain Buclaw <ibuclaw@gdcproject.org> * d-codegen.cc (identity_compare_p): Return false if seen built-in type with padding. (build_float_identity): Moved here from expr.cc. (lower_struct_comparison): Handle real and complex types. * d-tree.h (build_float_identity): New. * expr.cc (build_float_identity): Move to d-codegen.cc. gcc/testsuite/ChangeLog: 2019-01-20 Iain Buclaw <ibuclaw@gdcproject.org> * gdc.dg/runnable.d: Add more tests for comparing complex types. From-SVN: r268104
2019-01-20[D] Fix IdentityExp comparison for complex floats.Johannes Pfau2-5/+33
gcc/d/ChangeLog: 2019-01-20 Johannes Pfau <johannespfau@gmail.com> * expr.cc (build_float_identity): New function. (ExprVisitor::visit(IdentityExp)): Add support for complex types. gcc/testsuite/ChangeLog: 2019-01-20 Johannes Pfau <johannespfau@gmail.com> * gdc.dg/runnable.d: Add tests for comparing complex types. From-SVN: r268103
2019-01-16[D] Fix failing EH execution test on i386.Iain Buclaw2-0/+12
Turn off partitioning unless it was explicitly requested, as it doesn't work with D exception chaining, where personality routines use LSDA to determine whether two thrown exceptions are in the same context. The following distills what was failing in the D testsuite. ``` try { try { fn(); // throws "1" } finally { throw new Exception("2"); } } catch (Exception e) { assert(e.msg == "1"); assert(e.next.msg == "2"); } ``` gcc/d/ChangeLog: PR d/87824 * d-lang.cc (d_post_options): Disable implicit -forder-blocks-and-partition. From-SVN: r267985
2019-01-15[D] Move building of typeof(null) values to a common function.Iain Buclaw5-38/+50
gcc/d/ChangeLog: * d-codegen.cc (build_typeof_null_value): New function. * d-tree.h (build_typeof_null_value): Declare. * d-convert.cc (convert_expr): Use build_typeof_null_value. * expr.cc (ExprVisitor::visit(NullExp)): Likewise. From-SVN: r267955
2019-01-15PR inline-asm/52813 revisitedRichard Sandiford2-1/+6
The original patch for this PR made it an error to list the stack pointer in the clobber list of an inline asm. However, the general feeling seemed to be that going straight to a hard error was too harsh, since there's quite a bit of existing code that has the clobber. This patch implements the compromise discussed on IRC of making it a -Wdeprecated warning instead. 2019-01-15 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR inline-asm/52813 * doc/extend.texi: Document that listing the stack pointer in the clobber list of an asm is a deprecated feature. * common.opt (Wdeprecated): Moved from c-family/c.opt. * cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated warning instead of an error for clobbers of the stack pointer. Add a note explaining why. gcc/c-family/ PR inline-asm/52813 * c.opt (Wdeprecated): Move documentation and variable to common.opt. gcc/d/ PR inline-asm/52813 * lang.opt (Wdeprecated): Reference common.opt instead of c.opt. gcc/testsuite/ PR inline-asm/52813 * gcc.target/i386/pr52813.c (test1): Turn the diagnostic into a -Wdeprecated warning and expect a following note:. From-SVN: r267941
2019-01-14[D] Merge upstream dmd cd2034cd7Iain Buclaw2-3/+4
One fix in the asm statement parser to stop parsing if the end of the statement has been reached, and moves all inline asm tests to gdc.dg. These being adjusted where necessary to test the GCC style instead. gcc/testsuite/ChangeLog: 2019-01-14 Iain Buclaw <ibuclaw@gdcproject.org> * gdc.dg/asm1.d: New test. * gdc.dg/asm2.d: New test. * gdc.dg/asm3.d: New test. * gdc.dg/asm4.d: New test. * lib/gdc.exp (gdc_init): Set gcc_error_prefix and gcc_warning_prefix. From-SVN: r267913
2019-01-12Document merge process for dmd, druntime and phobos.Iain Buclaw2-0/+15
gcc/d/ChangeLog: * README.gcc: New file. libphobos/ChangeLog: * README.gcc: New file. From-SVN: r267885
2019-01-09Merge dmd upstream 6d5b853d3Iain Buclaw129-129/+129
Updates the copyright years of all d/dmd sources. Reviewed-on: https://github.com/dlang/dmd/pull/9181 From-SVN: r267778
2019-01-01Update copyright years.Jakub Jelinek35-34/+36
From-SVN: r267494
2019-01-01gcc.c (process_command): Update copyright notice dates.Jakub Jelinek3-639/+648
* gcc.c (process_command): Update copyright notice dates. * gcov-dump.c (print_version): Ditto. * gcov.c (print_version): Ditto. * gcov-tool.c (print_version): Ditto. * gengtype.c (create_file): Ditto. * doc/cpp.texi: Bump @copying's copyright year. * doc/cppinternals.texi: Ditto. * doc/gcc.texi: Ditto. * doc/gccint.texi: Ditto. * doc/gcov.texi: Ditto. * doc/install.texi: Ditto. * doc/invoke.texi: Ditto. gcc/fortran/ * gfortranspec.c (lang_specific_driver): Update copyright notice dates. * gfc-internals.texi: Bump @copying's copyright year. * gfortran.texi: Ditto. * intrinsic.texi: Ditto. * invoke.texi: Ditto. gcc/go/ * gccgo.texi: Bump @copyrights-go year. gcc/ada/ * gnat_ugn.texi: Bump @copying's copyright year. * gnat_rm.texi: Likewise. gcc/d/ * gdc.texi: Bump @copyrights-d year. libitm/ * libitm.texi: Bump @copying's copyright year. libgomp/ * libgomp.texi: Bump @copying's copyright year. libquadmath/ * libquadmath.texi: Bump @copying's copyright year. From-SVN: r267492
2018-12-17Merge dmd upstream 237ca3fbeIain Buclaw6-53/+59
Backports a fix where a bad cast to TypeFunction resulted in memory corruption. The logic in the function semantic has been fixed, and casts have been replaced with a function call to always check the front-end AST node value. Reviewed-on: https://github.com/dlang/dmd/pull/9054 From-SVN: r267207
2018-12-09Merge dmd upstream e2fe2687bIain Buclaw7-251/+496
Backports VRP fixes from the D front-end implementation to the C++ port, and fixes errors reported by ubsan build where the conversion from D didn't include adjusting integer suffixes from 'UL' to 'ULL'. Fixes https://gcc.gnu.org/PR88366 Reviewed-on: https://github.com/dlang/dmd/pull/9046 From-SVN: r266925
2018-12-02Merge dmd upstream 5220ad51eIain Buclaw3-21/+81
Backports Ddoc fix that is present in upstream, but did not make its way into the C++ port of the D front-end implementation. The old special types for C long, unsigned long, and long double have also been removed as neither the compiler nor druntime bindings support handling it anymore. Commits merged from dmd. Backport Issue 14633: Fixed false DDoc warnings https://github.com/dlang/dmd/pull/9027 Remove old support code for struct __c_long/ulong/long_double https://github.com/dlang/dmd/pull/9028 From-SVN: r266719
2018-11-24re PR d/87866 (gdc fails to compile minimal test)Iain Buclaw2-2/+8
gcc/d/ChangeLog: 2018-11-24 Iain Buclaw <ibuclaw@gdcproject.org> PR d/87866 * d-incpath.cc (add_globalpaths): Use lrealpath to get canonical name. (add_filepaths): Likewise. From-SVN: r266429
2018-11-17Fix wrong alignment returned by .alignof property.Iain Buclaw2-1/+6
The D language expects the value to be the minimum alignment required for the type, not the preferred alignment. gcc/d/ChangeLog: 2018-11-17 Iain Buclaw <ibuclaw@gdcproject.org> PR d/87824 * d-target.cc (Target::alignsize): Return min_align_of_type. From-SVN: r266234
2018-11-04Merge dmd upstream 6243fa6d2Iain Buclaw104-483/+360
This introduces a new header that pulls in system includes for use only in the DMD front-end part of the compiler, fixing up uses of problematic functions that are prevalent throughout the code. Commits merged from dmd. Fix build of the D frontend on the Hurd and KFreeBSD. Initial patch from Matthias Klose. https://github.com/dlang/dmd/pull/8893 Don't care about D/C++ compatibility in C++ port. Fixes build error in https://gcc.gnu.org/PR87788 https://github.com/dlang/dmd/pull/8895 Allow compiling front-end headers with strict warnings. https://github.com/dlang/dmd/pull/8909 Add root/system.h header for wrapping system includes. Fixes https://gcc.gnu.org/PR87865 https://github.com/dlang/dmd/pull/8910 Move checkedint to dmd/root. https://github.com/dlang/dmd/pull/8912 Use rmem instead of libc for malloc() and strdup(). https://github.com/dlang/dmd/pull/8913 Use align(8) for alignment of UnionExp, fixing several BUS errors due to alignment issues on SPARC. https://github.com/dlang/dmd/pull/8914 Don't pass NULL pointer as format parameter to errorSupplemental. https://github.com/dlang/dmd/pull/8916 gcc/d/ChangeLog: 2018-11-05 Iain Buclaw <ibuclaw@gdcproject.org> PR d/87865 * d-system.h: New file. From-SVN: r265780
2018-11-01re PR d/87824 (x86_64-linux multilib issues)Jakub Jelinek2-0/+9
PR d/87824 * lang.opt (Wpsabi): New option. * gdc.dg/simd.d: Add -Wno-psabi. * gdc.dg/compilable.d: Likewise. From-SVN: r265713
2018-10-31Fix profiledbootstrap when D is enabledIain Buclaw2-2/+8
gcc/d/ChangeLog: 2018-10-31 Iain Buclaw <ibuclaw@gdcproject.org> PR d/87825 * Make-lang.in (d/idgen) Link with BUILD_LINKERFLAGS. (d/impcvgen): Likewise. From-SVN: r265702
2018-10-28Add D front-end, libphobos library, and D2 testsuite.Iain Buclaw178-0/+159347
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