[clang] bd4086f - [C99] Claim conformance to "additional predefined macro names"

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 25 10:48:07 PDT 2024


Author: Aaron Ballman
Date: 2024-03-25T13:47:46-04:00
New Revision: bd4086f0464cc6e3e85b57ae58bc6892e777297f

URL: https://github.com/llvm/llvm-project/commit/bd4086f0464cc6e3e85b57ae58bc6892e777297f
DIFF: https://github.com/llvm/llvm-project/commit/bd4086f0464cc6e3e85b57ae58bc6892e777297f.diff

LOG: [C99] Claim conformance to "additional predefined macro names"

This feature is listed in the C99 front matter as one of the changes to
C99, but there was no associated document with that title (or anything
close to it).

I eventually tracked this down to a new requirement in C99 that
implementations defining their own pedefined macros should not name
them with a __STDC_ prefix. Clang does not do this, but there's no
tests that would demonstrate we properly "implement" this feature. So
claiming full conformance without additional test coverage.

Added: 
    

Modified: 
    clang/www/c_status.html

Removed: 
    


################################################################################
diff  --git a/clang/www/c_status.html b/clang/www/c_status.html
index ddfdc2f21c8796..435897277c493b 100644
--- a/clang/www/c_status.html
+++ b/clang/www/c_status.html
@@ -315,7 +315,13 @@ <h2 id="c99">C99 implementation status</h2>
     <tr>
       <td>additional predefined macro names</td>
       <td>Unknown</td>
-      <td class="unknown" align="center">Unknown</td>
+      <td class="full" align="center">Yes</td>
+      <!-- It is unknown which paper brought in this change, which was listed in
+           the C99 front matter. After hunting around for what these changes are,
+           I found a mention in the C99 rationale document that implementers who
+           wish to add their own predefined macros must not start them with
+           __STDC_, which was a new restriction in C99. As best I can tell, that
+           is what this particular feature is about. -->
     </tr>
     <tr>
       <td>_Pragma preprocessing operator</td>


        


More information about the cfe-commits mailing list