aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-01-06 20:31:16 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-01-06 20:31:16 +0000
commit44f9a8e4bbce7121df8d21aa028344d8b4ffc2cb (patch)
tree6bdccfa5538281de288c8ad8e1e07594cbb9deca
parent2610198a4579d180e971fd449e256096fb53add5 (diff)
downloadgcc-44f9a8e4bbce7121df8d21aa028344d8b4ffc2cb.zip
gcc-44f9a8e4bbce7121df8d21aa028344d8b4ffc2cb.tar.gz
gcc-44f9a8e4bbce7121df8d21aa028344d8b4ffc2cb.tar.bz2
hwint.h: If the current compiler has no 64-bit type at all, make HOST_WIDEST_INT 32 bits.
* hwint.h: If the current compiler has no 64-bit type at all, make HOST_WIDEST_INT 32 bits. From-SVN: r60951
-rw-r--r--gcc/ChangeLog61
-rw-r--r--gcc/hwint.h9
2 files changed, 38 insertions, 32 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c9c59aa9..b3263f3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-01-06 Zack Weinberg <zack@codesourcery.com>
+
+ * hwint.h: If the current compiler has no 64-bit type at all,
+ make HOST_WIDEST_INT 32 bits.
+
2003-01-06 Eric Christopher <echristo@redhat.com>
* config/mips/mips.md (movdf_internal2): Fix constraints.
@@ -17,7 +22,7 @@
2003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
- * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
+ * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
redefinition.
2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
@@ -547,10 +552,10 @@ Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
2002-12-23 Aldy Hernandez <aldyh@redhat.com>
- PR/8763
- * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
- (altivec_vspltisw_v4sf): Name pattern.
- (altivec_vslw_v4sf): New pattern.
+ PR/8763
+ * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
+ (altivec_vspltisw_v4sf): Name pattern.
+ (altivec_vslw_v4sf): New pattern.
2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
@@ -714,38 +719,38 @@ Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz>
2002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
- * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
- all registers capable of holding a double float.
- (*rcond): change name of "reverse branch" insns to
- something more meaningful.
- (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
- comparisons properly.
- (*ffs): Change operand 0 from write to read-modify-write.
- (*ffsssi2): Drop constraints from define_expand.
+ * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
+ all registers capable of holding a double float.
+ (*rcond): change name of "reverse branch" insns to
+ something more meaningful.
+ (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
+ comparisons properly.
+ (*ffs): Change operand 0 from write to read-modify-write.
+ (*ffsssi2): Drop constraints from define_expand.
- * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
- MOVE_RATIO as default for store operations.
+ * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
+ MOVE_RATIO as default for store operations.
- * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
- LONG_REGS class.
- (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
- (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
- * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
+ * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
+ LONG_REGS class.
+ (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
+ (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
+ * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
- * config/ns32k/STATUS: New File
- * config/ns32k/NOTES: New file.
+ * config/ns32k/STATUS: New File
+ * config/ns32k/NOTES: New file.
2002-12-20 Hartmut Penner <hpenner@de.ibm.com>
* doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
option for S/390 and zSeries.
- * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
- s390_arch_string): New variables.
- (override_options): Checking for options and setting of
+ * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
+ s390_arch_string): New variables.
+ (override_options): Checking for options and setting of
appropriate target_flags, cpu and arch flags.
- * config/s390/s390.h: (processor_type): New enum.
- (TARGET_SWITCHES): New switches -mesa/zarch.
- * config/s390/s390.md: New attribute 'cpu'.
+ * config/s390/s390.h: (processor_type): New enum.
+ (TARGET_SWITCHES): New switches -mesa/zarch.
+ * config/s390/s390.md: New attribute 'cpu'.
2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
diff --git a/gcc/hwint.h b/gcc/hwint.h
index b4de0e3..f866e16 100644
--- a/gcc/hwint.h
+++ b/gcc/hwint.h
@@ -88,10 +88,11 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1];
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx"
#endif
-/* Set HOST_WIDEST_INT. Unlike HOST_WIDE_INT, this must always be
- at least 64 bits wide. */
+/* Set HOST_WIDEST_INT. This is a 64-bit type unless the compiler
+ in use has no 64-bit type at all; in that case it's 32 bits. */
-#if HOST_BITS_PER_WIDE_INT >= 64
+#if HOST_BITS_PER_WIDE_INT >= 64 \
+ || (HOST_BITS_PER_LONGLONG < 64 && HOST_BITS_PER___INT64 < 64)
# define HOST_WIDEST_INT HOST_WIDE_INT
# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_WIDE_INT
# define HOST_WIDEST_INT_PRINT_DEC HOST_WIDE_INT_PRINT_DEC
@@ -110,7 +111,7 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1];
# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER___INT64
# define HOST_WIDEST_INT __int64
# else
- #error "Unable to find a suitable type for HOST_WIDEST_INT"
+ #error "This line should be impossible to reach"
# endif
# endif
# define HOST_WIDEST_INT_PRINT_DEC "%lld"