OSDN Git Service

2011-12-15 Tobias Burnus <burnus@net-b.de>
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Dec 2011 15:18:33 +0000 (15:18 +0000)
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Dec 2011 15:18:33 +0000 (15:18 +0000)
        PR fortran/51550
        PR fortran/47545
        PR fortran/49050
        PR fortran/51075
        * resolve.c (resolve_fl_derived0): Print not-implemented error
        for deferred-length character components.

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

gcc/fortran/ChangeLog
gcc/fortran/resolve.c

index 1f00326..5175e41 100644 (file)
@@ -1,5 +1,14 @@
 2011-12-15  Tobias Burnus  <burnus@net-b.de>
 
+       PR fortran/51550
+       PR fortran/47545
+       PR fortran/49050
+       PR fortran/51075        
+       * resolve.c (resolve_fl_derived0): Print not-implemented error
+       for deferred-length character components.
+
+2011-12-15  Tobias Burnus  <burnus@net-b.de>
+
        * primary.c (gfc_match_varspec): Match array spec for
        polymorphic coarrays.
        (gfc_match_rvalue): If a symbol of unknown flavor has a
index b4a9d1c..b12efe0 100644 (file)
@@ -11432,6 +11432,14 @@ resolve_fl_derived0 (gfc_symbol *sym)
 
   for (c = sym->components; c != NULL; c = c->next)
     {
+      /* See PRs 51550, 47545, 48654, 49050, 51075 - and 45170.  */
+      if (c->ts.type == BT_CHARACTER && c->ts.deferred)
+       {
+         gfc_error ("Deferred-length character component '%s' at %L is not "
+                    "yet supported", c->name, &c->loc);
+         return FAILURE;
+       }
+
       /* F2008, C442.  */
       if ((!sym->attr.is_class || c != sym->components)
          && c->attr.codimension