aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/f/ChangeLog7
-rw-r--r--gcc/f/target.c22
2 files changed, 11 insertions, 18 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 44863d5..dc5ce88 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,10 @@
+2002-08-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * target.c (ffetarget_memcpy_): Don't test nonexistent
+ HOST_BYTES_BIG_ENDIAN, HOST_BITS_BIG_ENDIAN. Check
+ HOST_WORDS_BIG_ENDIAN against both WORDS_BIG_ENDIAN and
+ BYTES_BIG_ENDIAN.
+
2002-08-30 Alan Modra <amodra@bigpond.net.au>
* target.h (FFETARGET_32bit_longs): Don't define for powerpc64 or
diff --git a/gcc/f/target.c b/gcc/f/target.c
index 5c06368..1ea4fa2 100644
--- a/gcc/f/target.c
+++ b/gcc/f/target.c
@@ -2521,6 +2521,9 @@ void *
ffetarget_memcpy_ (void *dst, void *src, size_t len)
{
#ifdef CROSS_COMPILE
+ /* HOST_WORDS_BIG_ENDIAN corresponds to both WORDS_BIG_ENDIAN and
+ BYTES_BIG_ENDIAN (i.e. there are no HOST_ macros to represent a
+ difference in the two latter). */
int host_words_big_endian =
#ifndef HOST_WORDS_BIG_ENDIAN
0
@@ -2529,22 +2532,6 @@ ffetarget_memcpy_ (void *dst, void *src, size_t len)
#endif
;
- int host_bytes_big_endian =
-#ifndef HOST_BYTES_BIG_ENDIAN
- 0
-#else
- HOST_BYTES_BIG_ENDIAN
-#endif
- ;
-
- int host_bits_big_endian =
-#ifndef HOST_BITS_BIG_ENDIAN
- 0
-#else
- HOST_BITS_BIG_ENDIAN
-#endif
- ;
-
/* This is just hands thrown up in the air over bits coming through this
function representing a number being memcpy:d as-is from host to
target. We can't generally adjust endianness here since we don't
@@ -2555,8 +2542,7 @@ ffetarget_memcpy_ (void *dst, void *src, size_t len)
for instance in g77.f-torture/execute/980628-[4-6].f and alpha2.f.
Still, we compile *some* code. FIXME: Rewrite handling of numbers. */
if (!WORDS_BIG_ENDIAN != !host_words_big_endian
- || !BYTES_BIG_ENDIAN != !host_bytes_big_endian
- || !BITS_BIG_ENDIAN != !host_bits_big_endian)
+ || !BYTES_BIG_ENDIAN != !host_words_big_endian)
sorry ("data initializer on host with different endianness");
#endif /* CROSS_COMPILE */