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]

c99status.html update 2009-04-26


I've applied this patch to c99status.html to update information on
VLAs now the known corner cases are fixed and to expand the discussion
of what would need doing to implement math_errhandling.

I believe the known target-independent C99 conformance issues in GCC
are now:

* Predefined macros (requires library cooperation, glibc patch at
  <http://sourceware.org/ml/libc-alpha/2009-04/msg00005.html> pending
  review).

* Extended identifiers (see PR 9449 comment 21).

* Floating-point issues.  There are actually lots of separate issues
  here, not just one (the hardest parts being the optimizer issues
  relating to exceptions and rounding modes).  These either have PRs
  listed as dependencies of PR 16989 (although separate PRs may well
  describe overlapping issues), or are detailed in c99status.html.
  math_errhandling needs linker and library cooperation as discussed
  in more detail in c99status.html after this patch.

Index: c99status.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/c99status.html,v
retrieving revision 1.51
diff -u -r1.51 c99status.html
--- c99status.html	19 Apr 2009 20:29:08 -0000	1.51
+++ c99status.html	26 Apr 2009 16:14:19 -0000
@@ -329,7 +329,16 @@
 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>
+on this subject to libc-hacker.  The compiler needs to mark its output
+from compilations using <code>-fno-trapping-math</code>
+or <code>-fno-math-errno</code>, possibly using
+the <code>.gnu_attribute</code> mechanism, to indicate that built-in
+function optimizations may have been applied that mean that not all
+calls report error status in a particular way; the static linker
+needs to put this information in executables and shared libraries and
+the C library needs to use it to set <code>math_errhandling</code> at
+startup to a conservatively correct value based on the information
+from the compiler.</li>
 
 <li>GCC doesn't have <code>wprintf</code>, <code>wscanf</code> and
 <code>wcsftime</code> format checking support.</li>
@@ -341,12 +350,6 @@
 Complex numbers support has not been checked in detail against the
 requirements of the C99 standard.</li>
 
-<li>There are some known bugs (<a
-href="http://gcc.gnu.org/PR39564";>39564</a>, <a
-href="http://gcc.gnu.org/PR39581";>39581</a>, <a
-href="http://gcc.gnu.org/PR39582";>39582</a>) relating to corner cases
-of variable length arrays (VLAs).</li>
-
 <li><code>&lt;stdint.h&gt;</code> is provided by GCC, or fixed where
 the system headers provide a nonconforming version, on some but not
 yet all systems.  On systems where types in this header have been

-- 
Joseph S. Myers
joseph@codesourcery.com


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