Author: Aaron Ballman Date: 2024-06-21T13:28:02-04:00 New Revision: 131bc0390dba1bc21fb8af8e5e8afa78a17d39b9
URL: https://github.com/llvm/llvm-project/commit/131bc0390dba1bc21fb8af8e5e8afa78a17d39b9 DIFF: https://github.com/llvm/llvm-project/commit/131bc0390dba1bc21fb8af8e5e8afa78a17d39b9.diff LOG: [C99] Claim partial conformance to IEC 60559 support We intend to support Annex F but there are edge cases we don't handle properly, such as raising an "invalid" exception when converting some floating-point values to integers. This does not add any test coverage as full conformance would require sufficiently extensive testing that we should consider getting a third-party test suite such as the one from http://tybor.com/ Added: Modified: clang/www/c_status.html Removed: ################################################################################ diff --git a/clang/www/c_status.html b/clang/www/c_status.html index 170ab0e1cc321..d8700d6bf3779 100644 --- a/clang/www/c_status.html +++ b/clang/www/c_status.html @@ -277,7 +277,25 @@ <h2 id="c99">C99 implementation status</h2> <tr> <td>IEC 60559 support</td> <td>Unknown</td> - <td class="unknown" align="center">Unknown</td> + <td class="partial" align="center"> + <details><summary>Partial</summary> + Clang supports much of the language requirements for Annex F, but + full conformance is only possible to determine when considering the + compiler's language support, the C runtime library's math library + support, and the target system's floating-point environment support. + Clang does not currently raise an "invalid" floating-point exception + on certain conversions, does not raise floating-point exceptions for + arithmetic constant expressions, and other corner cases. Note, Clang + does not define <code>__STDC_IEC_559__</code> because the compiler + does not fully conform. However, some C standard library + implementations + (<a href="https://sourceware.org/git/?p=glibc.git;a=blob;f=include/stdc-predef.h"> + glibc</a>, <a href="https://git.musl-libc.org/cgit/musl/tree/include/stdc-predef.h"> + musl</a> will define the macro regardless of compiler support unless + the compiler defines <code>__GCC_IEC_559</code>, which Clang does not + currently define. + </details> + </td> </tr> <tr> <td>trailing comma allowed in enum declaration</td> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits