------- Comment #7 from pault at gcc dot gnu dot org  2007-06-18 22:49 -------
John,

5.1
.....many snips.....
....If a specification-expr involves a reference to a specification function
(7.1.6.2), the expression is considered to be a nonconstant expression. If the
data object being declared depends on the value of such a nonconstant
expression and is not a dummy argument, such an object is called an automatic
data object.

I can see why you should think that this is OK.  However, this section of the
standard says otherwise.  In fact, there is a practical consideration, which
probably drives the standard:

This character length cannot be computed at compilation time because the
specification function is needed.  Automatic objects in procedures have their
variable properties calculated in the interface, which is not available for the
main program. Thus, even were this legal code, I would not have the slightest
idea how to implement it.

My vote is that this is invalid.

Paul


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32386

Reply via email to