mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
MISRA C:2012 Rule 17.1 states: The features of `<stdarg.h>' shall not be used
The Xen community wants to avoid using variadic functions except for specific circumstances where it feels appropriate by strict code review. Add deviation for printf()-like functions. Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
1 parent
80d28865e1
commit
ea33a6e1e3
2 files changed
+18
No files matched your search
@@ -386,6 +386,19 @@ explicit comment indicating the fallthrough intention is present."
|
||||
-config=MC3R1.R16.6,switch_clauses+={deliberate, "default(0)"}
|
||||
-doc_end
|
||||
|
||||
#
|
||||
# Series 17.
|
||||
#
|
||||
|
||||
-doc_begin="printf()-like functions are allowed to use the variadic features provided by stdarg.h."
|
||||
-config=MC3R1.R17.1,reports+={deliberate,"any_area(^.*va_list.*$&&context(ancestor_or_self(^.*printk\(.*\)$)))"}
|
||||
-config=MC3R1.R17.1,reports+={deliberate,"any_area(^.*va_list.*$&&context(ancestor_or_self(^.*printf\(.*\)$)))"}
|
||||
-config=MC3R1.R17.1,reports+={deliberate,"any_area(^.*va_list.*$&&context(ancestor_or_self(name(panic)&&kind(function))))"}
|
||||
-config=MC3R1.R17.1,reports+={deliberate,"any_area(^.*va_list.*$&&context(ancestor_or_self(name(elf_call_log_callback)&&kind(function))))"}
|
||||
-config=MC3R1.R17.1,reports+={deliberate,"any_area(^.*va_list.*$&&context(ancestor_or_self(name(vprintk_common)&&kind(function))))"}
|
||||
-config=MC3R1.R17.1,macros+={hide , "^va_(arg|start|copy|end)$"}
|
||||
-doc_end
|
||||
|
||||
#
|
||||
# Series 18.
|
||||
#
|
||||
|
||||
@@ -334,6 +334,11 @@ Deviations related to MISRA C:2012 Rules:
|
||||
improve readability.
|
||||
- Tagged as `deliberate` for ECLAIR.
|
||||
|
||||
* - R17.1
|
||||
- printf()-like functions are allowed to use the variadic features provided
|
||||
by `stdarg.h`.
|
||||
- Tagged as `deliberate` for ECLAIR.
|
||||
|
||||
* - R20.4
|
||||
- The override of the keyword \"inline\" in xen/compiler.h is present so
|
||||
that section contents checks pass when the compiler chooses not to
|
||||
|
||||