2007-11-30 Tobias Burnus <burnus@net-b.de>
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Nov 2007 09:31:56 +0000 (09:31 +0000)
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Nov 2007 09:31:56 +0000 (09:31 +0000)
        PR fortran/34186
        * symbol.c (generate_isocbinding_symbol): Set string length.
        * dump-parse-tree.c (gfc_show_attr): Show BIND(C) attribute.
        * misc.c (gfc_basic_typename): Handle BT_VOID.

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

gcc/fortran/ChangeLog
gcc/fortran/dump-parse-tree.c
gcc/fortran/misc.c
gcc/fortran/symbol.c

index 6aa5a35..6f23f68 100644 (file)
@@ -1,3 +1,10 @@
+2007-11-30  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34186
+       * symbol.c (generate_isocbinding_symbol): Set string length.
+       * dump-parse-tree.c (gfc_show_attr): Show BIND(C) attribute.
+       * misc.c (gfc_basic_typename): Handle BT_VOID.
+
 2007-11-29  Steven G. Kargl  <kargls@comcast.net>
 
        PR fortran/34230
index ce46e35..e1e463f 100644 (file)
@@ -582,6 +582,8 @@ gfc_show_attr (symbol_attribute *attr)
     gfc_status (" RESULT");
   if (attr->entry)
     gfc_status (" ENTRY");
+  if (attr->is_bind_c)
+    gfc_status (" BIND(C)");
 
   if (attr->data)
     gfc_status (" DATA");
index 85f982d..4bc5c43 100644 (file)
@@ -139,6 +139,9 @@ gfc_basic_typename (bt type)
     case BT_PROCEDURE:
       p = "PROCEDURE";
       break;
+    case BT_VOID:
+      p = "VOID";
+      break;
     case BT_UNKNOWN:
       p = "UNKNOWN";
       break;
index 8ef2b1d..a2bb43f 100644 (file)
@@ -3810,6 +3810,8 @@ generate_isocbinding_symbol (const char *mod_name, iso_c_binding_symbol s,
        tmp_sym->value->value.character.string[0]
          = (char) c_interop_kinds_table[s].value;
        tmp_sym->value->value.character.string[1] = '\0';
+       tmp_sym->value->ts.cl = gfc_get_charlen ();
+       tmp_sym->value->ts.cl->length = gfc_int_expr (1);
 
        /* May not need this in both attr and ts, but do need in
           attr for writing module file.  */