OSDN Git Service

PR fortran/27885
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 18 Nov 2006 23:17:33 +0000 (23:17 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 18 Nov 2006 23:17:33 +0000 (23:17 +0000)
PR middle-end/28176
* stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types
to MAX_FIXED_MODE_SIZE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118977 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/stor-layout.c

index 86b2a37..f2aafc1 100644 (file)
@@ -1,3 +1,10 @@
+2006-11-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR fortran/27885
+       PR middle-end/28176
+       * stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types
+       to MAX_FIXED_MODE_SIZE.
+
 2006-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * builtins.c (integer_valued_real_p): Handle fmin/fmax.
index ccbf9f7..94ea457 100644 (file)
@@ -1941,7 +1941,8 @@ set_sizetype (tree type)
      calculating signed sizes / offsets in bits.  However, when
      cross-compiling from a 32 bit to a 64 bit host, we are limited to 64 bit
      precision.  */
-  int precision = MIN (oprecision + BITS_PER_UNIT_LOG + 1,
+  int precision = MIN (MIN (oprecision + BITS_PER_UNIT_LOG + 1,
+                           MAX_FIXED_MODE_SIZE),
                       2 * HOST_BITS_PER_WIDE_INT);
   tree t;