Hi Steve,

I'll note that match.cc(gfc_match_type_spec) has to deal with
REAL as a possible intrinsic function.  See the comment

   /* REAL is a real pain because it can be a type, intrinsic subprogram,
      or list item in a type-list of an OpenMP reduction clause.  Need to
      differentiate REAL([KIND]=scalar-int-initialization-expr) from
      REAL(A,[KIND]) and REAL(KIND,A).  Logically, when this code was
      written the use of LOGICAL as a type-spec or intrinsic subprogram
      was overlooked.  */

You're right.

I just looked at the code that matches REAL, and it's... ugh.  I could
copy that, but it would certainly be complicated and error-prone, and
I would like to avoid that.

@Peter: Based on this, I would really like to stick with UINT, which has
none of these problems.

BTW, I haven't checked with code, yet.  Do you permit UNSIGNED*4, etc?
I would discourage such a declaration.

It is currently not rejected, but this is also something that should
be done.  I'll put it on my to-do list.

Best regards

        Thomas


Reply via email to