https://github.com/AaronBallman created https://github.com/llvm/llvm-project/pull/153837
We've backported a lot more features from C to previous C standards than we were documenting. I took a pass over the c_status page for Clang and pulled more entries to add to our documentation. >From bad4cee277e54cbbde27fd16c8ea9afb08db6c31 Mon Sep 17 00:00:00 2001 From: Aaron Ballman <aa...@aaronballman.com> Date: Fri, 15 Aug 2025 13:13:42 -0400 Subject: [PATCH] [C][Docs] Add backported language features We've backported a lot more features from C to previous C standards than we were documenting. I took a pass over the c_status page for Clang and pulled more entries to add to our documentation. --- clang/docs/LanguageExtensions.rst | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/clang/docs/LanguageExtensions.rst b/clang/docs/LanguageExtensions.rst index 2db1bae918ada..4666149846cdd 100644 --- a/clang/docs/LanguageExtensions.rst +++ b/clang/docs/LanguageExtensions.rst @@ -1715,11 +1715,41 @@ Variadic Friends __cpp_variadic_friend C Trivial Relocatability __cpp_trivial_relocatability C++26 C++03 --------------------------------------------- -------------------------------- ------------- ------------- Designated initializers (N494) C99 C89 +``_Complex`` (N693) C99 C89, C++ +``_Bool`` (N815) C99 C89 +Variable-length arrays (N683) C99 C89, C++ +Flexible array members C99 C89, C++ +static and type quals in arrays C99 C89 +``long long`` (N601) C99 C89 +Universal character names C99 C89 +Hexadecimal floating constants (N308) C99 C89 +Compound literals (N716) C99 C89, C++ +``//`` comments (N644) C99 C89 +Mixed declarations and code (N740) C99 C89 +Variadic macros (N707) C99 C89 +Empty macro arguments (N570) C99 C89 +Trailing comma in enum declaration C99 C89 +Implicit ``return 0`` in ``main`` C99 C89 +``__func`` (N611) C99 C89 +``_Generic`` (N1441) C11 C89, C++ +``_Static_assert`` (N1330) C11 C89, C++ +``_Atomic`` (N1485) C11 C89, C++ +``_Thread_local`` (N1364) C11 C89, C++ Array & element qualification (N2607) C23 C89 Attributes (N2335) C23 C89 ``#embed`` (N3017) C23 C89, C++ +Enum with fixed underlying type (N3030) C23 C89 +``#warning`` (N2686) C23 C89 +``_BitInt`` (N3035) C23 C89, C++ +Binary literals (N2549) C23 C89 +Unnamed parameters in a function definition C23 C89 +Free positioning of labels (N2508) C23 C89 +``#elifdef`` (N2645) C23 C89 +``__has_include`` (N2799) C23 C89 Octal literals prefixed with ``0o`` or ``0O`` C2y C89, C++ ``_Countof`` (N3369, N3469) C2y C89 +``_Generic`` with a type operand (N3260) C2y C89, C++ +``++``/``--`` on ``_Complex`` value (N3259) C2y C89, C++ ============================================= ================================ ============= ============= Builtin type aliases _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits