[clang] [clang] Document -fstrict-flex-arrays option (PR #138388)

via cfe-commits cfe-commits at lists.llvm.org
Sat May 3 01:21:27 PDT 2025


https://github.com/serge-sans-paille created https://github.com/llvm/llvm-project/pull/138388

Fix #138185

>From fae4db4ec0f6ff6fe4eb8986bf707f8c33302fde Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton at mozilla.com>
Date: Sat, 3 May 2025 10:10:09 +0200
Subject: [PATCH] [clang] Document -fstrict-flex-arrays option

Fix #138185
---
 clang/include/clang/Driver/Options.td | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index 2946ffaa28da0..5ceba7e3bf4c7 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -1554,7 +1554,10 @@ def fstrict_flex_arrays_EQ : Joined<["-"], "fstrict-flex-arrays=">, Group<f_Grou
   Visibility<[ClangOption, CC1Option]>,
   NormalizedValuesScope<"LangOptions::StrictFlexArraysLevelKind">,
   NormalizedValues<["Default", "OneZeroOrIncomplete", "ZeroOrIncomplete", "IncompleteOnly"]>,
-  HelpText<"Enable optimizations based on the strict definition of flexible arrays">,
+  HelpText<"Enable optimizations based on the strict definition of flexible arrays. "
+    "If ``<n>`` is equal to 0, any trailing array member is considered a flexible array. "
+    "If ``<n>`` is equal to 1, trailing array members of size 0, 1 and undefined are considered flexible arrays. "
+    "If ``<n>`` is equal to 3, only trailing array members of undefined size are considered flexible arrays.">,
   MarshallingInfoEnum<LangOpts<"StrictFlexArraysLevel">, "Default">;
 defm apple_pragma_pack : BoolFOption<"apple-pragma-pack",
   LangOpts<"ApplePragmaPack">, DefaultFalse,



More information about the cfe-commits mailing list