Author: Aaron Ballman Date: 2024-04-02T16:26:29-04:00 New Revision: 6b2a4668b99ef47f567709bcf6f57bc60c35eea9
URL: https://github.com/llvm/llvm-project/commit/6b2a4668b99ef47f567709bcf6f57bc60c35eea9 DIFF: https://github.com/llvm/llvm-project/commit/6b2a4668b99ef47f567709bcf6f57bc60c35eea9.diff LOG: [C11] Claim conformance to WG14 N1482 This paper added a pile of macros for atomic initialization which we started supporting in Clang 4.0. Added: clang/test/C/C11/n1482.c Modified: clang/www/c_status.html Removed: ################################################################################ diff --git a/clang/test/C/C11/n1482.c b/clang/test/C/C11/n1482.c new file mode 100644 index 00000000000000..493c7d0a18f109 --- /dev/null +++ b/clang/test/C/C11/n1482.c @@ -0,0 +1,59 @@ +// RUN: %clang_cc1 -verify -ffreestanding -std=c11 %s +// expected-no-diagnostics + +/* WG14 N1482: Clang 4 + * Explicit initializers for atomics + * + * NB: We can only test the compile time behavior from the paper, not the + * runtime behavior. + */ + +#include <stdatomic.h> + +#ifndef ATOMIC_BOOL_LOCK_FREE +#error "Missing ATOMIC_BOOL_LOCK_FREE" +#endif + +#ifndef ATOMIC_CHAR_LOCK_FREE +#error "Missing ATOMIC_CHAR_LOCK_FREE" +#endif + +#ifndef ATOMIC_CHAR16_T_LOCK_FREE +#error "Missing ATOMIC_CHAR16_T_LOCK_FREE" +#endif + +#ifndef ATOMIC_CHAR32_T_LOCK_FREE +#error "Missing ATOMIC_CHAR32_T_LOCK_FREE" +#endif + +#ifndef ATOMIC_WCHAR_T_LOCK_FREE +#error "Missing ATOMIC_WCHAR_T_LOCK_FREE" +#endif + +#ifndef ATOMIC_SHORT_LOCK_FREE +#error "Missing ATOMIC_SHORT_LOCK_FREE" +#endif + +#ifndef ATOMIC_INT_LOCK_FREE +#error "Missing ATOMIC_INT_LOCK_FREE" +#endif + +#ifndef ATOMIC_LONG_LOCK_FREE +#error "Missing ATOMIC_LONG_LOCK_FREE" +#endif + +#ifndef ATOMIC_LLONG_LOCK_FREE +#error "Missing ATOMIC_LLONG_LOCK_FREE" +#endif + +#ifndef ATOMIC_POINTER_LOCK_FREE +#error "Missing ATOMIC_POINTER_LOCK_FREE" +#endif + +#ifndef ATOMIC_VAR_INIT +#error "Missing ATOMIC_VAR_INIT" +#endif + +#ifndef atomic_init +#error "Missing atomic_init" +#endif diff --git a/clang/www/c_status.html b/clang/www/c_status.html index 62100611219e58..370d99b55b1312 100644 --- a/clang/www/c_status.html +++ b/clang/www/c_status.html @@ -548,7 +548,7 @@ <h2 id="c11">C11 implementation status</h2> <tr> <td>Explicit initializers for atomics</td> <td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1482.htm">N1482</a></td> - <td class="unknown" align="center">Unknown</td> + <td class="full" align="center">Clang 4</td> </tr> <tr> <td>Atomics proposal (minus ternary op)</td> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits