diff --git a/ChangeLog b/ChangeLog index 2c186eca851..80061943188 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2002-03-24 Nick Clifton + + Fix for: PR bootstrap/3591, target/5676 + * configure.in (mcore-pe): Disable the configuration of + libstdc++-v3 since exceptions are not supported. + 2002-03-20 Anthony Green * configure.in: Enable libgcj for xscale-elf target. diff --git a/configure.in b/configure.in index 04c23ec5fd6..e4380a559e0 100644 --- a/configure.in +++ b/configure.in @@ -866,6 +866,11 @@ case "${target}" in target_configdirs="${target_configdirs} target-bsp target-cygmon" fi ;; + mcore-*-pe*) + # The EPOC C++ environment does not support exceptions or rtti, + # and so building libstdc++-v3 tends not to always work. + noconfigdirs="$noconfigdirs target-libstdc++-v3" + ;; mmix-*-*) noconfigdirs="$noconfigdirs ${libgcj}" ;; diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ee9a97fcf07..22a7cfd3205 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2002-03-25 Nick Clifton + + Fixes for: PR bootstrap/3591, target/5676 + * config/mcore/mcore.h (CC1_SPEC): Define only if not already + defined. Do not disable exceptions or rtti. + * config/mcore/mcore-pe.h (CC1_SPEC): Define before including + mcore.h. Disable exceptions and rtti, since they are not + supported by EPOC. + 2002-03-25 Neil Booth * c-decl.c (maybe_build_cleanup): Remove. diff --git a/gcc/config/mcore/mcore-pe.h b/gcc/config/mcore/mcore-pe.h index 067706c3f09..efd90871451 100644 --- a/gcc/config/mcore/mcore-pe.h +++ b/gcc/config/mcore/mcore-pe.h @@ -24,6 +24,10 @@ Boston, MA 02111-1307, USA. */ #define SUBTARGET_CPP_PREDEFINES " -D__pe__" +/* The MCore ABI says that bitfields are unsigned by default. */ +/* The EPOC C++ environment does not support exceptions. */ +#define CC1_SPEC "-funsigned-bitfields %{!DIN_GCC:-fno-rtti} %{!DIN_GCC:-fno-exceptions}" + #include "svr3.h" #include "mcore/mcore.h" #include "dbxcoff.h" diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h index 40f0ab20598..22fee8450d0 100644 --- a/gcc/config/mcore/mcore.h +++ b/gcc/config/mcore/mcore.h @@ -178,9 +178,10 @@ extern const char * mcore_stack_increment_string; N_("Maximum amount for a single stack increment operation")} \ } -/* The MCore ABI says that bitfields are unsigned by default. */ -/* The EPOC C++ environment does not support exceptions. */ -#define CC1_SPEC "-funsigned-bitfields %{!DIN_GCC:-fno-rtti} %{!DIN_GCC:-fno-exceptions}" +#ifndef CC1_SPEC +/* The MCore ABI says that bitfields are unsigned by default. */ +#define CC1_SPEC "-funsigned-bitfields" +#endif /* What options are we going to default to specific settings when -O* happens; the user can subsequently override these settings. diff --git a/gcc/config/mcore/t-mcore-pe b/gcc/config/mcore/t-mcore-pe index 0c94d38ef85..294f40475a7 100644 --- a/gcc/config/mcore/t-mcore-pe +++ b/gcc/config/mcore/t-mcore-pe @@ -30,7 +30,7 @@ MULTILIB_MATCHES = MULTILIB_EXTRA_OPTS = MULTILIB_EXCEPTIONS = -EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o +# EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib