This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gcc-wwwdocs".
The branch, master has been updated
via 5ab37266293bed45cf851276118fcfd54d4cca98 (commit)
from b2e433418ca8cf148b677e1566830504a0db1f21 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5ab37266293bed45cf851276118fcfd54d4cca98
Author: Jakub Jelinek <[email protected]>
Date: Tue Jun 10 23:41:39 2025 +0200
Use colors even in the C99 table.
diff --git a/htdocs/projects/c-status.html b/htdocs/projects/c-status.html
index d44095cb..cabdcea1 100644
--- a/htdocs/projects/c-status.html
+++ b/htdocs/projects/c-status.html
@@ -203,55 +203,57 @@ GCC 3.0, even if there is no specific note regarding
corner cases.</p>
<p>See below the table for further notes on some issues.</p>
-<table>
-<tr><th>Feature</th>
+<table class="cxxstatus">
+ <tr class="separator">
+ <th>Feature</th>
+ <th>Proposal</th>
<th>Version</th>
<th>Notes</th>
-</tr>
+ </tr>
<tr><td><em>restricted character set support via digraphs and
<code><iso646.h></code> (originally specified in AMD1)</em></td>
- <td>GCC 2.7</td>
+ <td class="supported">GCC 2.7</td>
<td></td>
</tr>
<tr><td><em>wide character library support in
<code><wchar.h></code> and <code><wctype.h></code>
(originally specified in AMD1)</em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature, no compiler support required. GCC doesn't
have <code>wprintf</code>, <code>wscanf</code> and
<code>wcsftime</code> format checking support.</td>
</tr>
<tr><td><em>more precise aliasing rules via effective type</em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Optimization, no compiler support required. GCC has
optimized based on aliasing rules since GCC 2.95.</td>
</tr>
<tr><td><em>restricted pointers</em></td>
- <td>GCC 2.95</td>
+ <td class="supported">GCC 2.95</td>
<td></td>
</tr>
<tr><td><em>variable length arrays</em></td>
- <td>GCC 0.9</td>
+ <td class="supported">GCC 0.9</td>
<td>Various corner cases fixed in GCC 4.5.</td>
</tr>
<tr><td><em>flexible array members</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td></td>
</tr>
<tr><td><em><code>static</code> and type qualifiers in parameter array
declarators</em></td>
- <td>GCC 3.1</td>
+ <td class="supported">GCC 3.1</td>
<td></td>
</tr>
<tr><td><em>complex (and imaginary) support in
<code><complex.h></code></em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td>New functions are a library issue not requiring much compiler
support (some built-in functions present). Complex numbers are
supported with <code>__complex__</code> since GCC 2.5, and with
@@ -264,7 +266,7 @@ GCC 3.0, even if there is no specific note regarding corner
cases.</p>
</tr>
<tr><td><em>type-generic math macros in <code><tgmath.h></code></em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature; GCC built-in functions may be used in
implementing it.</td>
</tr>
@@ -276,32 +278,32 @@ GCC 3.0, even if there is no specific note regarding
corner cases.</p>
</tr>
<tr><td><em>increased minimum translation limits</em></td>
- <td>GCC 0.9</td>
+ <td class="supported">GCC 0.9</td>
<td>GNU policy has always avoided arbitrary limits.</td>
</tr>
<tr><td><em>additional floating-point characteristics in
<code><float.h></code></em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td></td>
</tr>
<tr><td><em>remove implicit <code>int</code></em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td></td>
</tr>
<tr><td><em>reliable integer division</em></td>
- <td>GCC 0.9</td>
+ <td class="supported">GCC 0.9</td>
<td></td>
</tr>
<tr><td><em>universal character names (<code>\u</code> and
<code>\U</code>)</em></td>
- <td>GCC 3.1</td>
+ <td class="supported">GCC 3.1</td>
<td></td>
</tr>
<tr><td><em>extended identifiers</em></td>
- <td>GCC 4.1</td>
+ <td class="supported">GCC 4.1</td>
<td>Some corner cases were fixed in GCC 5;
<code>-fextended-identifiers</code> was needed to enable this
feature before that version.</td>
@@ -310,32 +312,32 @@ GCC 3.0, even if there is no specific note regarding
corner cases.</p>
<tr><td><em>hexadecimal floating-point constants and
<code>%a</code> and <code>%A</code>
<code>printf</code>/<code>scanf</code> conversion specifiers</em></td>
- <td>GCC 2.8</td>
+ <td class="supported">GCC 2.8</td>
<td>Conversion specifiers are a library issue (format checking
support present).</td>
</tr>
<tr><td><em>compound literals</em></td>
- <td>GCC 3.1</td>
+ <td class="supported">GCC 3.1</td>
<td>The syntax was supported by GCC by version 1.21, but with
significant differences from C99 requirements until GCC 3.1.</td>
</tr>
<tr><td><em>designated initializers</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td>The syntax was supported since GCC 2.5, but with significant
differences from C99 requirements until GCC 3.0.</td>
</tr>
<tr><td><em><code>//</code> comments</em></td>
- <td>GCC 2.7</td>
+ <td class="supported">GCC 2.7</td>
<td></td>
</tr>
<tr><td><em>extended integer types and library functions
in <code><inttypes.h></code>
and <code><stdint.h></code></em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>All of this can be provided by the library rather than the
compiler (some built-in function support also
present). <code><stdint.h></code> is provided by GCC (as of
@@ -347,60 +349,60 @@ GCC 3.0, even if there is no specific note regarding
corner cases.</p>
</tr>
<tr><td><em>remove implicit function declaration</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td></td>
</tr>
<tr><td><em>preprocessor arithmetic done in
<code>intmax_t</code>/<code>uintmax_t</code></em></td>
- <td>GCC 3.3</td>
+ <td class="supported">GCC 3.3</td>
<td></td>
</tr>
<tr><td><em>mixed declarations and code</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td></td>
</tr>
<tr><td><em>new block scopes for selection and iteration statements</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td></td>
</tr>
<tr><td><em>integer constant type rules</em></td>
- <td>GCC 3.3</td>
+ <td class="supported">GCC 3.3</td>
<td></td>
</tr>
<tr><td><em>integer promotion rules</em></td>
- <td>GCC 4.0</td>
+ <td class="supported">GCC 4.0</td>
<td></td>
</tr>
<tr><td><em>macros with a variable number of arguments</em></td>
- <td>GCC 2.95</td>
+ <td class="supported">GCC 2.95</td>
<td></td>
</tr>
<tr><td><em>the <code>vscanf</code> family of functions
in <code><stdio.h></code> and <code><wchar.h></code></em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature, no compiler support required (format checking
support present).</td>
</tr>
<tr><td><em>additional math library functions in
<code><math.h></code></em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature, no compiler support required (various
built-in functions present).</td>
</tr>
<tr><td><em>treatment of error conditions by math library functions
(<code>math_errhandling</code>)</em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature, no compiler support required.</td>
</tr>
<tr><td><em>floating-point environment access in
<code><fenv.h></code></em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature, no compiler support required.</td>
</tr>
@@ -410,53 +412,53 @@ GCC 3.0, even if there is no specific note regarding
corner cases.</p>
</tr>
<tr><td><em>trailing comma allowed in <code>enum</code> declaration</em></td>
- <td>GCC 0.9</td>
+ <td class="supported">GCC 0.9</td>
<td></td>
</tr>
<tr><td><em><code>%lf</code> conversion specifier allowed in
<code>printf</code></em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature, no compiler support required (format checking
support present).</td>
</tr>
<tr><td><em>inline functions</em></td>
- <td>GCC 4.3</td>
+ <td class="supported">GCC 4.3</td>
<td>Inline function support present since at least GCC 1.21, but
with major differences from C99 semantics until 4.3.</td>
</tr>
<tr><td><em>the <code>snprintf</code> family of functions in
<code><stdio.h></code></em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature, no compiler support required (format checking
support present).</td>
</tr>
<tr><td><em>boolean type in <code><stdbool.h></code></em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td>GCC 2.95 had <code><stdbool.h></code>, but based on an
early draft with major differences from C99 semantics.</td>
</tr>
<tr><td><em>idempotent type qualifiers</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td>Always has been allowed, with a warning as required by C90
depending on GCC version.</td>
</tr>
<tr><td><em>empty macro arguments</em></td>
- <td>GCC 0.9</td>
+ <td class="supported">GCC 0.9</td>
<td>Undefined behavior in C90, but GCC not known ever to have
handled them contrary to C99.</td>
</tr>
<tr><td><em>new structure type compatibility rules (tag
compatibility)</em></td>
- <td>GCC 0.9</td>
+ <td class="supported">GCC 0.9</td>
<td>This relates to compatibility between translation units.</td>
</tr>
<tr><td><em>additional predefined macro names</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td>Support for the compiler to implicitly preinclude a
file <code>stdc-predef.h</code> provided by the C library, and so
predefine macros relating to library properties for the whole
@@ -464,7 +466,7 @@ GCC 3.0, even if there is no specific note regarding corner
cases.</p>
</tr>
<tr><td><em><code>_Pragma</code> preprocessing operator</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td></td>
</tr>
@@ -476,56 +478,56 @@ GCC 3.0, even if there is no specific note regarding
corner cases.</p>
</tr>
<tr><td><em><code>__func__</code> predefined identifier</em></td>
- <td>GCC 2.95</td>
+ <td class="supported">GCC 2.95</td>
<td></td>
</tr>
<tr><td><em><code>va_copy</code> macro</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td></td>
</tr>
<tr><td><em>additional <code>strftime</code> conversion specifiers</em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature, no compiler support required (format checking
support present).</td>
</tr>
<tr><td><em>LIA compatibility annex</em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>This annex describes how C relates to another standard, and
does not impose any requirements on C implementations.</td>
</tr>
<tr><td><em>deprecate <code>ungetc</code> at the beginning of a binary
file</em></td>
- <td>N/A</td>
+ <td class="other">N/A</td>
<td>Library feature, no compiler support required.</td>
</tr>
<tr><td><em>remove deprecation of aliased array parameters</em></td>
- <td>GCC 0.9</td>
+ <td class="supported">GCC 0.9</td>
<td>GCC has never done anything regarding this deprecation.</td>
</tr>
<tr><td><em>conversion of array to pointer not limited to lvalues</em></td>
- <td>GCC 3.1</td>
+ <td class="supported">GCC 3.1</td>
<td>Some support since GCC 2.0, but with major differences from
C99 requirements before GCC 3.1.</td>
</tr>
<tr><td><em>relaxed constraints on aggregate and union initialization</em></td>
- <td>≤ GCC 1.21</td>
+ <td class="supported">≤ GCC 1.21</td>
<td></td>
</tr>
<tr><td><em>relaxed restrictions on portable header names</em></td>
- <td>GCC 0.9</td>
+ <td class="supported">GCC 0.9</td>
<td>GCC has never had such restrictions itself.</td>
</tr>
<tr><td><em><code>return</code> without expression not permitted
in function that returns a value (and vice versa)</em></td>
- <td>GCC 3.0</td>
+ <td class="supported">GCC 3.0</td>
<td></td>
</tr>
-----------------------------------------------------------------------
Summary of changes:
htdocs/projects/c-status.html | 110 +++++++++++++++++++++---------------------
1 file changed, 56 insertions(+), 54 deletions(-)
hooks/post-receive
--
gcc-wwwdocs