All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dwaipayan Ray <dwaipayanray1@gmail.com>
To: Utkarsh Verma <utkarshverma294@gmail.com>
Cc: linux-kernel-mentees@lists.linuxfoundation.org
Subject: Re: [PATCH] Documentation: checkpatch: Add TRAILING_SEMICOLON message
Date: Tue, 3 Aug 2021 20:50:32 +0530	[thread overview]
Message-ID: <CABJPP5CpoFXgZ0WkCJSd-6oiS5D1zyw4irEP049Wr5ANTUgHCA@mail.gmail.com> (raw)
In-Reply-To: <20210803142010.17015-1-utkarshverma294@gmail.com>

On Tue, Aug 3, 2021 at 7:50 PM Utkarsh Verma <utkarshverma294@gmail.com> wrote:
>
> Add a new message type TRAILING_SEMICOLON for the macro definitions
> that conclude with a semicolon.
>
> Signed-off-by: Utkarsh Verma <utkarshverma294@gmail.com>
> Suggested-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
> ---
>  Documentation/dev-tools/checkpatch.rst | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/Documentation/dev-tools/checkpatch.rst b/Documentation/dev-tools/checkpatch.rst
> index f0956e9ea..504edd961 100644
> --- a/Documentation/dev-tools/checkpatch.rst
> +++ b/Documentation/dev-tools/checkpatch.rst
> @@ -845,6 +845,26 @@ Macros, Attributes and Symbols
>      Use the `fallthrough;` pseudo keyword instead of
>      `/* fallthrough */` like comments.
>
> +  **TRAILING_SEMICOLON**
> +    Macro definition should not conclude with a semicolon. The macro
> +    invocation should be consistent with the function call. A function
> +    call concludes with a semicolon, so the macro invocation must also
> +    conclude with a semicolon. Suppose if a macro MAC is defined::

The objective is really to avoid unexpected code paths. The explanation
seems correct but can be shortened a bit?

These two sentences can be combined:
The macro invocation should be consistent with the function call. A function
call concludes with a semicolon (We already know this right?), so the
macro invocation
must also conclude with a semicolon.

Also let's add link to the discussion which introduced it:
https://lore.kernel.org/lkml/alpine.DEB.2.02.1405092345480.6261@ionos.tec.linutronix.de/


> +
> +      #define MAC       \
> +        do_something;

combine it in one line?

> +
> +    If this macro is used within a if else statement, like::
> +
> +      if(some_condition)

space after if

> +              MAC;
> +      else
> +              do_something;
> +
> +    Then there would be a compilation error, because when the macro is
> +    expanded there are two trailing semicolons, so the else branch gets
> +    orphaned.
> +
>    **WEAK_DECLARATION**
>      Using weak declarations like __attribute__((weak)) or __weak
>      can have unintended link defects.  Avoid using them.
> --
> 2.17.1
>

Dwaipayan.
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

  reply	other threads:[~2021-08-03 15:20 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-17  6:46 Linux Kernel: Checkpatch Documentation Mentorship Tasks Utkarsh Verma
2021-07-17  7:23 ` Lukas Bulwahn
2021-07-24 22:06   ` Utkarsh Verma
2021-07-26 10:40     ` Lukas Bulwahn
2021-08-03 14:17       ` [PATCH] Documentation: checkpatch: Add SPLIT_STRING message Utkarsh Verma
2021-08-03 14:52         ` Dwaipayan Ray
2021-08-03 18:13           ` Utkarsh Verma
2021-08-03 18:20             ` Lukas Bulwahn
2021-08-04 18:09               ` [PATCH v2] " Utkarsh Verma
2021-08-03 14:19       ` [PATCH] Documentation: checkpatch: Add SYMBOLIC_PERMS message Utkarsh Verma
2021-08-03 14:20       ` [PATCH] Documentation: checkpatch: Add TRAILING_SEMICOLON message Utkarsh Verma
2021-08-03 15:20         ` Dwaipayan Ray [this message]
2021-08-03 21:19           ` [PATCH v2] " Utkarsh Verma
2021-08-05 13:49             ` Dwaipayan Ray
2021-08-20 19:53               ` [PATCH v3] " Utkarsh Verma
2021-08-22 17:29                 ` Dwaipayan Ray
2021-08-03 14:20       ` [PATCH] USB: serial: iuu_phoenix: fix checkpatch memset warning Utkarsh Verma
2021-08-03 14:21       ` [PATCH] USB: serial: iuu_phoenix: fix quoted string split across lines Utkarsh Verma
2021-08-05 13:52         ` Dwaipayan Ray
2021-08-05 14:20           ` Lukas Bulwahn
2021-08-06 13:12             ` Utkarsh Verma
2021-08-25  8:22             ` [PATCH v2] " Utkarsh Verma
2021-08-03 14:21       ` [PATCH] USB: serial: iuu_phoenix: Replace symbolic permissions by octal permissions Utkarsh Verma
2021-08-03 18:11         ` Lukas Bulwahn
2021-08-03 18:37           ` [PATCH v2] " Utkarsh Verma
2021-08-20 10:09             ` Lukas Bulwahn
2021-08-20 19:08               ` Utkarsh Verma
2021-08-04 19:12           ` [PATCH] " Utkarsh Verma
2021-08-05  9:26             ` Lukas Bulwahn
2021-08-06 19:12               ` Utkarsh Verma
2021-08-03 16:36       ` Linux Kernel: Checkpatch Documentation Mentorship Tasks Utkarsh Verma
2021-08-03 18:07         ` Lukas Bulwahn
2021-08-03 21:37           ` [PATCH v2] Documentation: checkpatch: Add SYMBOLIC_PERMS message Utkarsh Verma
2021-08-03 21:49             ` Dwaipayan Ray
2021-08-04 15:31               ` [PATCH v3] " Utkarsh Verma
2021-08-05 13:51                 ` Dwaipayan Ray
2021-08-06 13:46                   ` Utkarsh Verma
2021-08-06 19:56                     ` Dwaipayan Ray
2021-08-06 20:03                       ` Lukas Bulwahn
2021-08-06 20:10                       ` [PATCH v4] " Utkarsh Verma
2021-08-22 17:52                         ` Dwaipayan Ray
2021-08-23  7:18                           ` Lukas Bulwahn
2021-08-24 22:13                             ` [PATCH v5] " Utkarsh Verma
2021-09-04  7:42 [PATCH] Documentation: checkpatch: Add TRAILING_SEMICOLON message Utkarsh Verma
2021-09-14 21:07 ` Jonathan Corbet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABJPP5CpoFXgZ0WkCJSd-6oiS5D1zyw4irEP049Wr5ANTUgHCA@mail.gmail.com \
    --to=dwaipayanray1@gmail.com \
    --cc=linux-kernel-mentees@lists.linuxfoundation.org \
    --cc=utkarshverma294@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.