More c99status.html updates

Joseph S. Myers jsm28@cam.ac.uk
Fri Jul 14 13:16:00 GMT 2000


On Fri, 14 Jul 2000, Gerald Pfeifer wrote:

> Joseph, it would be great I you could use Zack's comments for another
> update for c99status.html! :-)

Here is an update to c99status.html and projects.html; those items from
projects.html that I didn't know no longer to be relevant are moved in
this patch to c99status.html without further editing.

> (Do you have a copyright assignment for GCC/GCC web pages on file? You
> are starting to reach a level of contributions, where it's better if we
> have these...)

I have on file an assign.future for "GNU CC".

If further assignements are needed for changes to manuals / web pages /
testsuite / ..., then let me know what to put on what assignment forms
(and add some explanation to contribute.html).

-- 
Joseph S. Myers
jsm28@cam.ac.uk

Index: c99status.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/c99status.html,v
retrieving revision 1.4
diff -u -r1.4 c99status.html
--- c99status.html	2000/07/14 17:13:19	1.4
+++ c99status.html	2000/07/14 17:48:38
@@ -14,6 +14,8 @@
 status, this means that some compiler support is needed for the
 library support, or desirable in conjunction with it.</p>
 
+<p>See below the table for further notes on some issues.
+
 <table border>
 <tr><th>Feature</th>
     <th>Library Issue</th>
@@ -98,7 +100,7 @@
 </tr>
 
 <tr><td><em>extended identifiers</em></td>
-    <td></td><td></td><td></td><td></td><td>Unknown</td>
+    <td></td><td></td><td></td><td>Missing</td><td></td>
 </tr>
 
 <tr><td><em>binary floating point literals +<br>printf support</em></td>
@@ -137,7 +139,7 @@
 </tr>
 
 <tr><td><em>preprocessor arithmetic<br>done in intmax_t/uintmax_t</em></td>
-    <td></td><td></td><td></td><td></td><td>Unknown</td>
+    <td></td><td></td><td>Broken</td><td></td><td></td>
 </tr>
 
 <tr><td><em>mixed declarations and code</em></td>
@@ -179,7 +181,7 @@
 </tr>
 
 <tr><td><em>IEC 60559</em></td>
-    <td></td><td></td><td></td><td></td><td>Unknown</td>
+    <td></td><td></td><td>Broken</td><td></td><td></td>
 </tr>
 
 <tr><td><em>trailing comma allowed in enum declaration</em></td>
@@ -211,7 +213,7 @@
 </tr>
 
 <tr><td><em>empty macro arguments</em></td>
-    <td></td><td></td><td></td><td></td><td>Unknown</td>
+    <td></td><td>Done</td><td></td><td></td><td></td>
 </tr>
 
 <tr><td><em>new struct type compatibility<br>rules (tag compatibility)</em></td>
@@ -233,8 +235,8 @@
     <td></td><td></td><td></td>
 </tr>
 
-<tr><td><em>VA_COPY macro</em></td>
-    <td></td><td></td><td></td><td>Missing</td>
+<tr><td><em>va_copy macro</em></td>
+    <td></td><td>Done</td><td></td><td></td>
     <td></td>
 </tr>
 
@@ -243,10 +245,6 @@
     <td></td>
 </tr>
 
-<tr><td><em>LIA compatibility annex</em></td>
-    <td></td><td></td><td></td><td></td><td>Unknown</td>
-</tr>
-
 <tr><td><em>deprecate ungetc at the<br>beginning of a binary file</em></td>
     <td>Library Issue</td>
     <td></td><td></td><td></td><td></td>
@@ -269,7 +267,7 @@
 
 <tr><td><em>relaxed restrictions on portable header names</em></td>
     <td></td><td></td>
-    <td></td><td></td><td>Unknown</td>
+    <td>Broken</td><td></td><td></td>
 </tr>
 
 <tr><td><em>return without expression not permitted in<br>function that returns a value</em></td>
@@ -285,6 +283,55 @@
     <th>Unknown</th>
 </tr>
 </table>
+
+<h2>Further notes</h2>
+
+<ul>
+
+<li>cpp has no support for multibyte character sets.
+
+<li>cpp arithmetic is done in <tt>HOST_WIDEST_INT</tt>, which may not
+be the same as the target <tt>intmax_t</tt> required by C99.
+
+<li>IEC 60559 is IEEE 751 floating point.  This works if and only if
+the hardware is perfectly compliant, but GCC does not define
+<tt>__STDC_IEC_559__</tt> or implement the associated standard
+pragmas.
+
+<li>Various aspects of the <tt>printf</tt>, <tt>scanf</tt> and
+<tt>strftime</tt> format checking aren't quite right for the different
+standards versions.
+
+<li>Compiler support is needed for <tt>math_errhandling</tt>; see
+messages <a
+href=" http://sources.redhat.com/ml/libc-hacker/2000-06/msg00008.html ">1</a>,
+<a
+href=" http://sources.redhat.com/ml/libc-hacker/2000-06/msg00014.html ">2</a>,
+<a
+href=" http://sources.redhat.com/ml/libc-hacker/2000-06/msg00015.html ">3</a>
+on this subject to libc-hacker.
+
+<li>GCC's <tt><stdbool.h></tt> is based on an old draft; the
+compiler needs an internal <tt>_Bool</tt> type.
+
+<li>In some places, <tt>-pedantic</tt> warnings don't take proper
+account of the standard version selected.
+
+<li><tt>__func__</tt> should not take part in string concatenation.
+
+<li>GCC doesn't have <tt>wprintf</tt>, <tt>wscanf</tt> and
+<tt>wcsftime</tt> format checking support.
+
+<li>complex numbers support is currently broken (how?)
+
+<li>C99 inline implies static
+
+<li>VLA (variable length arrays) differ from the GCC extension (what
+difference)?
+
+<li>compound array initialization does not support variables
+
+</ul>
 
 </body>
 </html>
Index: projects.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/projects.html,v
retrieving revision 1.13
diff -u -r1.13 projects.html
--- projects.html	2000/06/19 12:49:50	1.13
+++ projects.html	2000/07/14 17:48:38
@@ -22,34 +22,10 @@
 
 <p>The new version of the C standard (ISO/IEC 9899:1999) requires a
 number of library changes; these have to be provided by the C library,
-and not by gcc. A <a href="c99status.html">short overview</a> of the C99
-implementation status is available as well.</p>
-
-<p>Some gcc changes are already available in gcc as extensions, but
-don't quite work:
-<ul>
-  <li>complex numbers support is currently broken
-  <li>C99 inline implies static
-  <li>VLA (variable length arrays) differ from the GCC extension (what
-      difference)?
-  <li>__func__ is not quite the same as GCC's __FUNCTION__
-  <li>compound array initialization does not support variables
-  <li>under -pedantic, some correct code is rejected (e.g. [0] array members)
-</ul></p>
-
-<p>There is a number of preprocessor changes, which need to be
-implemented both for cccp, and <a href="proj-cpplib.html">cpplib</a>:
-<ul>
-  <li>_Pragma special token
-</ul></p>
-
-<p>A number of features is missing in the compiler proper:
-<ul>
-  <li>mixed declarations and statements are not supported
-  <li>various formatting characters are not known in printf/strftime (still?)
-  <li>support for universal characters
-  <li>standard pragmas
-</ul></p>
+and not by gcc.  In addition, there are also changes to the language
+proper, and some compiler support is needed for the new library
+features.  An <a href="c99status.html">overview</a> of the C99
+implementation status is available.</p>
 
 <h2>Haifa scheduler</h2> (haifa-sched.c, loop.[ch], unroll.[ch], genattrtab.c):
 (contact <a href=" mailto:law@cygnus.com ">law@cygnus.com</a> before



More information about the Gcc-patches mailing list