On 2024-12-17 17:40, Jan Beulich wrote:
On 17.12.2024 17:24, Nicola Vetrini wrote:
This extension name is missing from the current list of extension used
by Xen, therefore is must be added to that configuration in order to
avoid violations for MISRA C Rule 1.1.
Which extension are we talking about here? I'm afraid ...
--- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
+++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
@@ -100,8 +100,8 @@
ext_enum_value_not_int: non-documented GCC extension.
ext_gnu_array_range: see Section \"6.29 Designated Initializers\"
of "GCC_MANUAL".
"
--config=STD.diag,behavior+={c99,GCC_ARM64,"^(ext_paste_comma|ext_missing_varargs_arg|ext_named_variadic_macro|ext_return_has_void_expr|ext_gnu_statement_expr_macro|ext_sizeof_alignof_void_type|ext_forward_ref_enum_def|ext_gnu_array_range)$"}
--config=STD.diag,behavior+={c99,GCC_X86_64,"^(ext_paste_comma|ext_missing_varargs_arg|ext_named_variadic_macro|ext_return_has_void_expr|ext_gnu_statement_expr_macro|ext_sizeof_alignof_void_type|ext_flexible_array_in_struct|ext_flexible_array_in_array|ext_enum_value_not_int|ext_gnu_array_range)$"}
+-config=STD.diag,behavior+={c99,GCC_ARM64,"^(ext_paste_comma|ext_c_missing_varargs_arg|ext_missing_varargs_arg|ext_named_variadic_macro|ext_return_has_void_expr|ext_gnu_statement_expr_macro|ext_sizeof_alignof_void_type|ext_forward_ref_enum_def|ext_gnu_array_range)$"}
+-config=STD.diag,behavior+={c99,GCC_X86_64,"^(ext_paste_comma|ext_c_missing_varargs_arg|ext_missing_varargs_arg|ext_named_variadic_macro|ext_return_has_void_expr|ext_gnu_statement_expr_macro|ext_sizeof_alignof_void_type|ext_flexible_array_in_struct|ext_flexible_array_in_array|ext_enum_value_not_int|ext_gnu_array_range)$"}
-doc_end
... ext_c_missing_varargs_arg doesn't tell me anything. Without this
it's
hard to tell whether C-language-toolchain.rst might also need an edit;
a
search for "varargs" in the file yields no hit.
It's related to section 6.21 of the gcc manual "Macros with a variable
number of arguments".
The GCC extension (well, technically CPP) allowing zero arguments to a
variadic macro, so it's already present in the comment above the
configuration (out of context).
--
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)