VLA/VM [*] bug fixes for C
Joseph S. Myers
joseph@codesourcery.com
Sun May 7 13:44:00 GMT 2006
On Sun, 7 May 2006, Neil Booth wrote:
> For the composite type, 6.2.7p3 dash 1 applies, and the composite is
> the VLA type. That VLA type is derived indirectly from an incomplete
> type, and hence subscripting that incomplete type falls foul of the
> contraint on the subscript operator.
>
> I believe your example is the same, just with an extra level of nesting
> from the nested conditional expression.
>
> If you disagree could you point out the error in my reasoning?
I believe that "These rules apply recursively to the types from which the
two types are derived." means that the composite of T1[variable] and T2[]
is not T1[variable] but (composite(T1,T2))[variable]. I do not think
interpreting "is that type" to override the recursivity makes sense,
because it would yield self-contradictory results for the composite type
of two VLA types which are compatible but not the same.
--
Joseph S. Myers http://www.srcf.ucam.org/~jsm28/gcc/
jsm@polyomino.org.uk (personal mail)
joseph@codesourcery.com (CodeSourcery mail)
jsm28@gcc.gnu.org (Bugzilla assignments and CCs)
More information about the Gcc
mailing list