OSDN Git Service

* trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Apr 2009 20:02:43 +0000 (20:02 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Apr 2009 20:02:43 +0000 (20:02 +0000)
contain TYPE_STRING_FLAG types.

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

gcc/fortran/ChangeLog
gcc/fortran/trans-types.c

index 890a099..c0f12e6 100644 (file)
@@ -1,3 +1,8 @@
+2009-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't
+       contain TYPE_STRING_FLAG types.
+
 2009-04-08  Janne Blomqvist  <jb@gcc.gnu.org>
 
        PR fortran/39670
index 717859c..7cb3363 100644 (file)
@@ -721,6 +721,9 @@ gfc_init_types (void)
   for (index = 0; gfc_integer_kinds[index].kind != 0; ++index)
     {
       type = gfc_build_int_type (&gfc_integer_kinds[index]);
+      /* Ensure integer(kind=1) doesn't have TYPE_STRING_FLAG set.  */
+      if (TYPE_STRING_FLAG (type))
+       type = make_signed_type (gfc_integer_kinds[index].bit_size);
       gfc_integer_types[index] = type;
       snprintf (name_buf, sizeof(name_buf), "integer(kind=%d)",
                gfc_integer_kinds[index].kind);