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