Hi Tobias,

could you review the second patch instead? I have sent the wrong patch (early draft) and corrected it half an hour later!

Sorry, I missed that.  Here's the review of the real patch :-)

So, the first part is

+  if (ts)
+    e->ts.kind = ts->kind;

Ok, I unerstand that - ts has been set earlier for a component.

But this part

+  else if (e->ts.type != BT_CHARACTER)
+    e->ts.kind = gfc_default_character_kind;

I do not quite understand.  How can the type of an expression involving
a substring not be BT_CHARACTER when gfc_resolve_substring_charlen is
called?  Or is it BT_UNKNOWN, and a check for that might be better?
And, if it is indeed BT_UNKNOWN, how do we know it isn't a
CHARACTER(KIND=4)?

Best Regards

        Thomas


Reply via email to