Message ID | 20230710202835.2052428-1-sstabellini@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] docs/misra: add Rule 7.4 and 9.4 | expand |
On 10.07.2023 22:28, Stefano Stabellini wrote: > From: Stefano Stabellini <stefano.stabellini@amd.com> > > Rule 9.4 is non-controversial and we have no violations. > > Rule 7.4 is considered a good idea with the caveat that assigning a > string literal to const void is allowed. I added a note to specify it. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com> Acked-by: Jan Beulich <jbeulich@suse.com>
> On 10 Jul 2023, at 21:28, Stefano Stabellini <sstabellini@kernel.org> wrote: > > From: Stefano Stabellini <stefano.stabellini@amd.com> > > Rule 9.4 is non-controversial and we have no violations. > > Rule 7.4 is considered a good idea with the caveat that assigning a > string literal to const void is allowed. I added a note to specify it. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com> > --- > Changes in v2: > - improve rule 7.4 note > --- > docs/misra/rules.rst | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst > index 622f35410c..67ee8c029e 100644 > --- a/docs/misra/rules.rst > +++ b/docs/misra/rules.rst > @@ -203,6 +203,15 @@ maintainers if you want to suggest a change. > - The lowercase character l shall not be used in a literal suffix > - > > + * - `Rule 7.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_04.c>`_ > + - Required > + - A string literal shall not be assigned to an object unless the > + objects type is pointer to const-qualified char NIT: Should it be s/objects/object/ ? > + - All "character types" are permitted, as long as the string > + element type and the character type match. (There should be no > + casts.) Assigning a string literal to any object with type > + "pointer to const-qualified void" is allowed. > + > * - `Rule 8.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_01.c>`_ > - Required > - Types shall be explicitly specified > @@ -275,6 +284,11 @@ maintainers if you want to suggest a change. > braces > - > > + * - `Rule 9.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_09_04.c>`_ > + - Required > + - An element of an object shall not be initialized more than once > + - > + > * - `Rule 12.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_12_05.c>`_ > - Mandatory > - The sizeof operator shall not have an operand which is a function > -- > 2.25.1 > > Apart from that, I’ve used the file with our script to import the rules and it worked. Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
On Tue, 11 Jul 2023, Luca Fancellu wrote: > > On 10 Jul 2023, at 21:28, Stefano Stabellini <sstabellini@kernel.org> wrote: > > > > From: Stefano Stabellini <stefano.stabellini@amd.com> > > > > Rule 9.4 is non-controversial and we have no violations. > > > > Rule 7.4 is considered a good idea with the caveat that assigning a > > string literal to const void is allowed. I added a note to specify it. > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com> > > --- > > Changes in v2: > > - improve rule 7.4 note > > --- > > docs/misra/rules.rst | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst > > index 622f35410c..67ee8c029e 100644 > > --- a/docs/misra/rules.rst > > +++ b/docs/misra/rules.rst > > @@ -203,6 +203,15 @@ maintainers if you want to suggest a change. > > - The lowercase character l shall not be used in a literal suffix > > - > > > > + * - `Rule 7.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_04.c>`_ > > + - Required > > + - A string literal shall not be assigned to an object unless the > > + objects type is pointer to const-qualified char > > NIT: Should it be s/objects/object/ ? > > > + - All "character types" are permitted, as long as the string > > + element type and the character type match. (There should be no > > + casts.) Assigning a string literal to any object with type > > + "pointer to const-qualified void" is allowed. > > + > > * - `Rule 8.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_01.c>`_ > > - Required > > - Types shall be explicitly specified > > @@ -275,6 +284,11 @@ maintainers if you want to suggest a change. > > braces > > - > > > > + * - `Rule 9.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_09_04.c>`_ > > + - Required > > + - An element of an object shall not be initialized more than once > > + - > > + > > * - `Rule 12.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_12_05.c>`_ > > - Mandatory > > - The sizeof operator shall not have an operand which is a function > > -- > > 2.25.1 > > > > > > Apart from that, I’ve used the file with our script to import the rules and it worked. > > Reviewed-by: Luca Fancellu <luca.fancellu@arm.com> Thanks! I fixed the typo on commit
diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst index 622f35410c..67ee8c029e 100644 --- a/docs/misra/rules.rst +++ b/docs/misra/rules.rst @@ -203,6 +203,15 @@ maintainers if you want to suggest a change. - The lowercase character l shall not be used in a literal suffix - + * - `Rule 7.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_04.c>`_ + - Required + - A string literal shall not be assigned to an object unless the + objects type is pointer to const-qualified char + - All "character types" are permitted, as long as the string + element type and the character type match. (There should be no + casts.) Assigning a string literal to any object with type + "pointer to const-qualified void" is allowed. + * - `Rule 8.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_01.c>`_ - Required - Types shall be explicitly specified @@ -275,6 +284,11 @@ maintainers if you want to suggest a change. braces - + * - `Rule 9.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_09_04.c>`_ + - Required + - An element of an object shall not be initialized more than once + - + * - `Rule 12.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_12_05.c>`_ - Mandatory - The sizeof operator shall not have an operand which is a function