diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-01 16:13:09 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-01 16:13:09 +0000 |
commit | 5e17489c7d9d0300b43c682c260e45ef44a87547 (patch) | |
tree | acc36893ec98e5b706c0255226838103d67c8b77 | |
parent | d9d235cf2aae6b5158906265845d87a5cf3a4cde (diff) | |
download | gcc-5e17489c7d9d0300b43c682c260e45ef44a87547.tar.gz |
* config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
* config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
* config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
* config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
(SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
* config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
* config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
* config/sparc/t-linux: Removed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-3_4-branch@80298 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/config.gcc | 2 | ||||
-rw-r--r-- | gcc/config/sparc/linux.h | 3 | ||||
-rw-r--r-- | gcc/config/sparc/linux64.h | 3 | ||||
-rw-r--r-- | gcc/config/sparc/sol2.h | 7 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 7 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.h | 5 | ||||
-rw-r--r-- | gcc/config/sparc/t-linux | 2 | ||||
-rw-r--r-- | gcc/config/sparc/t-linux64 | 4 |
9 files changed, 35 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5b2fc6342c6..caabfe13807 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,18 @@ 2004-04-01 Jakub Jelinek <jakub@redhat.com> + * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0. + * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1. + * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1. + * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1. + (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS. + * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs + with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS. + * config.gcc (sparc-*-linux*): Revert 2004-03-23 change. + * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise. + * config/sparc/t-linux: Removed. + +2004-04-01 Jakub Jelinek <jakub@redhat.com> + PR c++/14755 * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in "bitfld++ == const" to "++bitfld == const + incr" transformations. diff --git a/gcc/config.gcc b/gcc/config.gcc index 3258b4fbc9b..238ca033956 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -2009,7 +2009,7 @@ sparc-*-elf*) ;; sparc-*-linux*) # SPARC's running GNU/Linux, libc6 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h" - tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux sparc/t-crtfm" + tmake_file="t-slibgcc-elf-ver t-linux sparc/t-crtfm" ;; sparc-*-rtems*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/rtemself.h rtems.h" diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h index 76213fef4b4..3ae8fcd500c 100644 --- a/gcc/config/sparc/linux.h +++ b/gcc/config/sparc/linux.h @@ -230,6 +230,9 @@ do { \ #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64 #endif +#undef DITF_CONVERSION_LIBFUNCS +#define DITF_CONVERSION_LIBFUNCS 1 + #if !defined(USE_GNULIBC_1) && defined(HAVE_LD_EH_FRAME_HDR) #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h index f96d297a719..0204cbe3829 100644 --- a/gcc/config/sparc/linux64.h +++ b/gcc/config/sparc/linux64.h @@ -308,6 +308,9 @@ do { \ /* #define DWARF_OFFSET_SIZE PTR_SIZE */ +#undef DITF_CONVERSION_LIBFUNCS +#define DITF_CONVERSION_LIBFUNCS 1 + #if defined(HAVE_LD_EH_FRAME_HDR) #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h index 11389419900..cbf914e6b7a 100644 --- a/gcc/config/sparc/sol2.h +++ b/gcc/config/sparc/sol2.h @@ -150,8 +150,11 @@ Boston, MA 02111-1307, USA. */ #undef TARGET_BUGGY_QP_LIB #define TARGET_BUGGY_QP_LIB 1 -#undef SOLARIS_CONVERSION_LIBFUNCS -#define SOLARIS_CONVERSION_LIBFUNCS 1 +#undef SUN_CONVERSION_LIBFUNCS +#define SUN_CONVERSION_LIBFUNCS 1 + +#undef DITF_CONVERSION_LIBFUNCS +#define DITF_CONVERSION_LIBFUNCS 1 #undef SUN_INTEGER_MULTIPLY_64 #define SUN_INTEGER_MULTIPLY_64 1 diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 6b378b9e4a0..5cfe73b5cde 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -8620,6 +8620,13 @@ sparc_init_libfuncs (void) set_conv_libfunc (ufix_optab, SImode, TFmode, "_Q_qtou"); set_conv_libfunc (sfloat_optab, TFmode, SImode, "_Q_itoq"); + if (DITF_CONVERSION_LIBFUNCS) + { + set_conv_libfunc (sfix_optab, DImode, TFmode, "_Q_qtoll"); + set_conv_libfunc (ufix_optab, DImode, TFmode, "_Q_qtoull"); + set_conv_libfunc (sfloat_optab, TFmode, DImode, "_Q_lltoq"); + } + if (SUN_CONVERSION_LIBFUNCS) { set_conv_libfunc (sfix_optab, DImode, SFmode, "__ftoll"); diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index b53e5e071d7..65953f0a846 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -2445,8 +2445,9 @@ do { \ /* Assume by default that we do not have the Solaris-specific conversion routines nor 64-bit integer multiply and divide routines. */ -#define SUN_CONVERSION_LIBFUNCS 0 -#define SUN_INTEGER_MULTIPLY_64 0 +#define SUN_CONVERSION_LIBFUNCS 0 +#define DITF_CONVERSION_LIBFUNCS 0 +#define SUN_INTEGER_MULTIPLY_64 0 /* Compute extra cost of moving data between one register class and another. */ diff --git a/gcc/config/sparc/t-linux b/gcc/config/sparc/t-linux deleted file mode 100644 index 30a3ccaf83a..00000000000 --- a/gcc/config/sparc/t-linux +++ /dev/null @@ -1,2 +0,0 @@ -# Compile libgcc2.a with pic and IEEE quad long double. -TARGET_LIBGCC2_CFLAGS = -fPIC -mlong-double-128 diff --git a/gcc/config/sparc/t-linux64 b/gcc/config/sparc/t-linux64 index d21e149e428..3e3fa4cae7e 100644 --- a/gcc/config/sparc/t-linux64 +++ b/gcc/config/sparc/t-linux64 @@ -17,7 +17,3 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \ CRTSTUFF_T_CFLAGS = `if test x$$($(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) \ -print-multi-os-directory) \ = x../lib64; then echo -mcmodel=medany; fi` - -# Compile libgcc2.a with pic and for -m32 also IEEE quad long double. -# -m64 implies -mlong-double-128, so this is no change for 64-bit. -TARGET_LIBGCC2_CFLAGS = -fPIC -mlong-double-128 |