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 <ja...@redhat.com> 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