On 01/08/2023 15:40, Jan Beulich wrote:
On 01.08.2023 15:06, Nicola Vetrini wrote:
The empty feature set 'str_7c1' in 'tools/misc/xen-cpuid.c' causes the
struct declaration to have no named members, hence violating
Rule 1.3:
"There shall be no occurrence of undefined or critical unspecified
behaviour"
because it is forbidden by ISO/IEC 9899:1999(E), Section 6.7.2.1.7:
"If the struct-declaration-list contains no named
members, the behavior is undefined."
It has been assessed that the feature set declaration is intentionally
empty,
and that no risk of undesired behaviour stems from it, hence the
struct
declaration is marked safe.
No functional changes.
Signed-off-by: Nicola Vetrini <nicola.vetr...@bugseng.com>
---
As agreed during the MISRA C group meetings, this violation is dealt
with by means of a comment deviation, as future changes may eliminate
the
root cause, which is the empty feature set.
My justification for the claim and the commit message may need some
adjusting.
A reference to the compiler extension would be nice; the use of
extensions
(which generally are well-defined, even if not always well-documented)
should eliminate the UB that the standard specifies.
It sure is a good idea to specify this. Since the use of this compiler
extension is already
documented in 'docs/misra/C-language-toolchain.rst' I can just add a
reference to that
in the justification.
--
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)