This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PR 3591, PR 5676 - mcore C++
- From: Nick Clifton <nickc at cambridge dot redhat dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: 22 Mar 2002 12:46:16 +0000
- Subject: Re: PR 3591, PR 5676 - mcore C++
- References: <20020321233948.Y32482@sunsite.ms.mff.cuni.cz>
Hi Jakub,
> Both these PRs are about the same thing:
> mcore.h contains
>
> /* The EPOC C++ environment does not support exceptions. */
> #define CC1_SPEC "-funsigned-bitfields %{!DIN_GCC:-fno-rtti} %{!DIN_GCC:-fno-exceptions}"
>
> and thus cannot build libstdc++-v3 which requires exception (particularly
> in configure when detecting exception model).
> I'd say either it wants libstdc++ and then it shouldn't disable exceptions
> nor rtti by default, or it doesn't want libstdc++ and should turn it of in
> configury.
Well assuming that EPOC still does not support exceptions then I think
that it should be turned off in the configury. How about this patch ?
Cheers
Nick
ChangeLog
2002-03-22 Nick Clifton <nickc@cambridge.redhat.com>
* configure.in (mcore-pe): Disable the configuration of
libstdc++-v3 since exceptions are not supported.
gcc/ChangeLog
2002-03-22 Nick Clifton <nickc@cambridge.redhat.com>
* 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.
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/configure.in,v
retrieving revision 1.122
diff -c -3 -p -w -r1.122 configure.in
*** configure.in 2002/03/21 20:59:20 1.122
--- configure.in 2002/03/22 11:54:05
*************** case "${target}" in
*** 866,871 ****
--- 866,876 ----
target_configdirs="${target_configdirs} target-bsp target-cygmon"
fi
;;
+ mcore-*-pe*)
+ # The EPOC C++ environment does not support exceptions,
+ # and these are required in order to build libstdc++-v3.
+ noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ ;;
mmix-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
Index: gcc/config/mcore/mcore.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mcore/mcore.h,v
retrieving revision 1.33
diff -c -3 -p -w -r1.33 mcore.h
*** mcore.h 2002/03/12 05:28:06 1.33
--- mcore.h 2002/03/22 11:54:06
*************** extern const char * mcore_stack_incremen
*** 178,186 ****
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}"
/* What options are we going to default to specific settings when
-O* happens; the user can subsequently override these settings.
--- 178,187 ----
N_("Maximum amount for a single stack increment operation")} \
}
+ #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.
Index: gcc/config/mcore/mcore-pe.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mcore/mcore-pe.h,v
retrieving revision 1.8
diff -c -3 -p -w -r1.8 mcore-pe.h
*** mcore-pe.h 2001/11/15 17:55:27 1.8
--- mcore-pe.h 2002/03/22 11:54:06
*************** Boston, MA 02111-1307, USA. */
*** 24,29 ****
--- 24,33 ----
#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"