[all-commits] [llvm/llvm-project] 918ef3: [C99] Claim full conformance to C99
Aaron Ballman via All-commits
all-commits at lists.llvm.org
Fri Jun 21 10:48:28 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 918ef312d1fda56ff783f3974b5a193542e5497c
https://github.com/llvm/llvm-project/commit/918ef312d1fda56ff783f3974b5a193542e5497c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-06-21 (Fri, 21 Jun 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim full conformance to C99
We now believe we know the status of all the proposals that went into
C99. There are three entries marked Partial:
N448 restricted pointers
------------------------
Clang fully conforms to the standard requirements, but LLVM support
could be improved to support more than just restricted pointers used
as function parameters.
N693 complex and imaginary support in <complex.h>
-------------------------------------------------
Clang supports _Complex but not _Imaginary. Clang does not attempt to
implement Annex G, so a lack of _Imaginary is not necessary for
conformance to C99. It's also worth noting that C2y is anticipated to
remove support for _Imaginary (see WG14 N3274 which was adopted at the
June 2024 meeting).
However, support for _Complex requires runtime support and compiler-rt
is not supported on all targets (notably, Windows).
(Doc # unknown) IEC 60559 support
---------------------------------
Clang largely conforms to the requirements in Annex F, but there are
edge cases that are incorrect. However, Clang does not predefine the
__STDC_IEC_559__ macro and so we don't claim to conform to Annex F yet.
Because all three of these partial entries are technically conforming,
it seems reasonable to claim full conformance for C99.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list