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