summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-01 16:13:09 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-01 16:13:09 +0000
commit5e17489c7d9d0300b43c682c260e45ef44a87547 (patch)
treeacc36893ec98e5b706c0255226838103d67c8b77
parentd9d235cf2aae6b5158906265845d87a5cf3a4cde (diff)
downloadgcc-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/ChangeLog13
-rw-r--r--gcc/config.gcc2
-rw-r--r--gcc/config/sparc/linux.h3
-rw-r--r--gcc/config/sparc/linux64.h3
-rw-r--r--gcc/config/sparc/sol2.h7
-rw-r--r--gcc/config/sparc/sparc.c7
-rw-r--r--gcc/config/sparc/sparc.h5
-rw-r--r--gcc/config/sparc/t-linux2
-rw-r--r--gcc/config/sparc/t-linux644
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