This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c99 VLA semantics


On Jun 16, 2006, at 2:58 PM, Joseph S. Myers wrote:
On Fri, 16 Jun 2006, Mike Stump wrote:
Oh, and on another topic, the web pages that say that we don't do C99 VLA
types I think can be cleaned up with the recent work.

The status now would be bug 19771 plus various obscure cases relating to
when side effects in array size expressions are allowed and when VLA types
should be allowed outside of functions.

Not sure exactly how you want it represented in the web page, how's the below patch?


Ok?

Index: c99status.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/c99status.html,v
retrieving revision 1.44
diff -u -p -r1.44 c99status.html
--- c99status.html      13 May 2006 10:36:52 -0000      1.44
+++ c99status.html      21 Jun 2006 21:25:50 -0000
@@ -61,7 +61,7 @@ the much more limited support in GCC 2.9
</tr>

<tr><td><em>variable-length arrays</em></td>
-    <td></td><td></td><td>Broken</td>
+    <td></td><td>Done</td><td></td>
     <td></td>
</tr>

@@ -334,15 +334,6 @@ with <code>extern</code>, the opposite o
<code>inline</code> and <code>extern inline</code>.  This will
probably require existing glibc headers to be fixincluded.</li>

-<li>The C99 semantics of variable length arrays (VLAs) are not fully
-implemented by the existing GCC extension: the concept of variably
-modified (VM) types, and the rules for what identifiers can be
-declared with VLA or VM types, are not implemented (for example, GCC
-allows elements of VM type in a structure with block scope); while the
-syntax for arrays to be declared with <code>[*]</code> in parameter
-declarations is present, the semantics are not; and in general the
-implementation of VLAs has not been checked against C99 requirements.</li>
-
<li><code>const</code>-qualified compound literals could share storage
with each other and with string literals, but currently don't.</li>



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]