From 131bc0390dba1bc21fb8af8e5e8afa78a17d39b9 Mon Sep 17 00:00:00 2001
From: Aaron Ballman
Date: Fri, 21 Jun 2024 13:20:20 -0400
Subject: [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/
---
clang/www/c_status.html | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
(limited to 'clang')
diff --git a/clang/www/c_status.html b/clang/www/c_status.html
index 170ab0e1..d8700d6 100644
--- a/clang/www/c_status.html
+++ b/clang/www/c_status.html
@@ -277,7 +277,25 @@ conformance.
IEC 60559 support |
Unknown |
- Unknown |
+
+ Partial
+ 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 __STDC_IEC_559__ because the compiler
+ does not fully conform. However, some C standard library
+ implementations
+ (
+ glibc,
+ musl will define the macro regardless of compiler support unless
+ the compiler defines __GCC_IEC_559 , which Clang does not
+ currently define.
+
+ |
trailing comma allowed in enum declaration |
--
cgit v1.1