https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105659

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Iain Buclaw
<ibuc...@gcc.gnu.org>:

https://gcc.gnu.org/g:17d46f069ceb55faa0db80a47c31710c7e6bcb11

commit r12-8950-g17d46f069ceb55faa0db80a47c31710c7e6bcb11
Author: Iain Buclaw <ibuc...@gdcproject.org>
Date:   Tue Aug 16 16:18:02 2022 +0200

    d: Fix #error You must define PREFERRED_DEBUGGING_TYPE if DWARF is not
supported

    This moves all D front-end specific target definitions out of the main
    target headers, and into its own header that is included by tm_d.h
    instead of pulling in the same headers as tm_p.h.

    This fixes the build on target configurations that pull in the default D
    language target hooks, and subsequently trigger an error because the
    definition of PREFERRED_DEBUGGING_TYPE is behind tm.h, the one header
    that is avoided from being included in default-d.cc.

            PR d/105659

    gcc/ChangeLog:

            * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
            * config/aarch64/aarch64-d.cc: Include tm_d.h.
            * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move
to
            config/aarch64/aarch64-d.h.
            (aarch64_d_register_target_info): Likewise.
            * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
            (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
            * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
            tm_p.h.
            * config/arm/arm-protos.h (arm_d_target_versions): Move to
            config/arm/arm-d.h.
            (arm_d_register_target_info): Likewise.
            * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
            (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
            * config/default-d.cc: Remove memmodel.h include.
            * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
            * config/glibc-d.cc: Likewise.
            * config/i386/i386-d.cc: Include tm_d.h.
            * config/i386/i386-protos.h (ix86_d_target_versions): Move to
            config/i386/i386-d.h.
            (ix86_d_register_target_info): Likewise.
            (ix86_d_has_stdcall_convention): Likewise.
            * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
            (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
            (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
            * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
            * config/mips/mips-d.cc: Include tm_d.h.
            * config/mips/mips-protos.h (mips_d_target_versions): Move to
            config/mips/mips-d.h.
            (mips_d_register_target_info): Likewise.
            * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
            (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
            * config/netbsd-d.cc: Include tm_d.h instead of tm.h and
memmodel.h.
            * config/openbsd-d.cc: Likewise.
            * config/pa/pa-d.cc: Include tm_d.h.
            * config/pa/pa-protos.h (pa_d_target_versions): Move to
            config/pa/pa-d.h.
            (pa_d_register_target_info): Likewise.
            * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
            (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
            * config/riscv/riscv-d.cc: Include tm_d.h.
            * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
            config/riscv/riscv-d.h.
            (riscv_d_register_target_info): Likewise.
            * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
            (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
            * config/rs6000/rs6000-d.cc: Include tm_d.h.
            * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
            config/rs6000/rs6000-d.h.
            (rs6000_d_register_target_info): Likewise.
            * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
            (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
            * config/s390/s390-d.cc: Include tm_d.h.
            * config/s390/s390-protos.h (s390_d_target_versions): Move to
            config/s390/s390-d.h.
            (s390_d_register_target_info): Likewise.
            * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
            (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
            * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
            * config/sparc/sparc-d.cc: Include tm_d.h.
            * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
            config/sparc/sparc-d.h.
            (sparc_d_register_target_info): Likewise.
            * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
            (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
            * configure: Regenerate.
            * configure.ac (tm_d_file): Remove defaults.h.
            (tm_d_include_list): Remove options.h and insn-constants.h.
            * config/aarch64/aarch64-d.h: New file.
            * config/arm/arm-d.h: New file.
            * config/i386/i386-d.h: New file.
            * config/mips/mips-d.h: New file.
            * config/pa/pa-d.h: New file.
            * config/riscv/riscv-d.h: New file.
            * config/rs6000/rs6000-d.h: New file.
            * config/s390/s390-d.h: New file.
            * config/sparc/sparc-d.h: New file.

    (cherry picked from commit d5ad6f8415171798adaff5787400505ce9882144)
  • [Bug d/105659] error: #error Yo... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to