re PR fortran/20059 (internal compiler error: Segmentation Fault - For common blocks)
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
Sun, 24 Apr 2005 13:51:39 +0000 (15:51 +0200)
committerTobias Schlüter <tobi@gcc.gnu.org>
Sun, 24 Apr 2005 13:51:39 +0000 (15:51 +0200)
fortran/
PR fortran/20059
* trans-common.c (translate_common): Cast offset and
common_segment->offset to type int for warning message.
testsuite/
PR fortran/20059
* gfortran.dg/common_5.f: New test.

From-SVN: r98660

gcc/fortran/ChangeLog
gcc/fortran/trans-common.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/common_5.f [new file with mode: 0644]

index 123fb9a33c2c5359a92626cbce2adfe31278f547..512e8134c93fac78fa244c3871394575043132d6 100644 (file)
@@ -1,3 +1,9 @@
+2005-04-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/20059
+       * trans-common.c (translate_common): Cast offset and
+       common_segment->offset to type int for warning message.
+
 2005-04-23  DJ Delorie  <dj@redhat.com>
 
        * trans-decl.c: Adjust warning() callers.
index 42e6712332807814dfe9304f5049c538dbddaaac..d164fe3494065a90882b517ea242bca4ce0760d1 100644 (file)
@@ -848,7 +848,7 @@ translate_common (gfc_common_head *common, gfc_symbol *var_list)
                 requirements.  Insert padding immediately before this
                 segment.  */
              gfc_warning ("Padding of %d bytes required before '%s' in "
-                          "COMMON '%s' at %L", offset, s->sym->name,
+                          "COMMON '%s' at %L", (int)offset, s->sym->name,
                           common->name, &common->where);
            }
          else
@@ -874,7 +874,7 @@ translate_common (gfc_common_head *common, gfc_symbol *var_list)
   if (common_segment->offset != 0)
     {
       gfc_warning ("COMMON '%s' at %L requires %d bytes of padding at start",
-                  common->name, &common->where, common_segment->offset);
+                  common->name, &common->where, (int)common_segment->offset);
     }
 
   create_common (common, common_segment, saw_equiv);
index 48e1d3078bd984f7063d3573dead5e319ee9c106..f6631e2ce1cbd2d0ec2f85a3ffffacc6e37f885b 100644 (file)
@@ -1,3 +1,8 @@
+2005-04-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/20059
+       * gfortran.dg/common_5.f: New test.
+
 2005-04-23  Richard Guenther  <rguenth@gcc.gnu.org>
 
        PR middle-end/21082
diff --git a/gcc/testsuite/gfortran.dg/common_5.f b/gcc/testsuite/gfortran.dg/common_5.f
new file mode 100644 (file)
index 0000000..d4b9614
--- /dev/null
@@ -0,0 +1,10 @@
+C { dg-do compile }
+C PR 20059
+C Check that the warning for padding works correctly.
+      SUBROUTINE PLOTZ
+      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
+      COMMON /CCPOOL/ RMIN,RMAX,ZMIN,ZMAX,IMIN,JMIN,IMAX,JMAX,NFLOP, ! { dg-warning "Padding" }
+     $ HTP
+C
+        RETURN
+      END