All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Beulich <jbeulich@suse.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: consulting@bugseng.com,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>, "Wei Liu" <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 7/7] x86/xstate: move BUILD_BUG_ON to address MISRA C:2012 Rule 2.1
Date: Tue, 12 Dec 2023 15:01:31 +0100	[thread overview]
Message-ID: <c2679666-9cd6-45aa-a222-82a589247ea2@suse.com> (raw)
In-Reply-To: <06787876c18401f7adbfb23f7f91ee84@bugseng.com>

On 12.12.2023 14:38, Nicola Vetrini wrote:
> On 2023-12-12 11:07, Jan Beulich wrote:
>> On 12.12.2023 11:04, Jan Beulich wrote:
>>> On 11.12.2023 11:30, Nicola Vetrini wrote:
>>>> The string literal inside the expansion of BUILD_BUG_ON is considered
>>>> unreachable code; however, such statement can be moved earlier
>>>> with no functional change.
>>>
>>> First: Why is this deemed dead code in its present position, but okay 
>>> when
>>> moved? Second: While moving is indeed no functional change (really
>>> BUILD_BUG_ON() can be moved about anywhere, for not producing any code 
>>> in
>>> the final binary), it removes the connection between it and the 
>>> respective
>>> asm() (where %z would have been nice to use).
>>
>> Oh, and third: Which string literal? I expect you're not building with
>> an ancient compiler, so it got to be
>>
>> #define BUILD_BUG_ON(cond) ({ _Static_assert(!(cond), "!(" #cond ")"); 
>> })
>>
>> which you see in use. Yet that string literal isn't "code" or "data", 
>> but
>> an argument to _Static_assert(). Is Eclair perhaps not properly aware 
>> of
>> _Static_assert()?
> 
> On further inspection, this should have fallen into the deviation for 
> pure decls. This patch can be dropped, we'll adjust this inside ECLAIR.

What's the connection to "pure" here? Or are you merely piggybacking on
that attribute for this non-function?

Jan


  reply	other threads:[~2023-12-12 14:02 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-11 10:30 [XEN PATCH 0/7] address violations of MISRA C:2012 Rule 2.1 Nicola Vetrini
2023-12-11 10:30 ` [XEN PATCH 1/7] xen/shutdown: address " Nicola Vetrini
2023-12-12  1:39   ` Stefano Stabellini
2023-12-12  9:45   ` Jan Beulich
2023-12-12  9:53     ` Nicola Vetrini
2023-12-12 10:30       ` Jan Beulich
2023-12-11 10:30 ` [XEN PATCH 2/7] x86/mm: " Nicola Vetrini
2023-12-12  1:42   ` Stefano Stabellini
2023-12-12  9:12     ` Nicola Vetrini
2023-12-12  9:53       ` Jan Beulich
2023-12-13 14:44         ` Nicola Vetrini
2023-12-14  7:57           ` Jan Beulich
2023-12-14  8:52             ` Nicola Vetrini
2023-12-11 10:30 ` [XEN PATCH 3/7] xen/arm: " Nicola Vetrini
2023-12-11 12:29   ` Julien Grall
2023-12-11 13:06     ` Michal Orzel
2023-12-11 14:14       ` Julien Grall
2023-12-11 14:52         ` Nicola Vetrini
2023-12-11 10:30 ` [XEN PATCH 4/7] xen/sched: " Nicola Vetrini
2023-12-11 13:30   ` George Dunlap
2023-12-12  1:43   ` Stefano Stabellini
2023-12-11 10:30 ` [XEN PATCH 5/7] xen/arm: traps: add ASSERT_UNREACHABLE() where needed Nicola Vetrini
2023-12-11 12:32   ` Julien Grall
2023-12-11 14:54     ` Nicola Vetrini
2023-12-11 15:59       ` Julien Grall
2023-12-11 16:05         ` Julien Grall
2023-12-11 17:36           ` Nicola Vetrini
2023-12-12  1:36             ` Stefano Stabellini
2023-12-12  9:23               ` Julien Grall
2023-12-12 15:49     ` Julien Grall
2023-12-13 14:02       ` Nicola Vetrini
2023-12-14  9:42         ` Julien Grall
2023-12-14 22:32           ` Stefano Stabellini
2023-12-15 11:03             ` Nicola Vetrini
2023-12-15 14:08               ` Nicola Vetrini
2023-12-15 18:18                 ` Julien Grall
2023-12-15 21:02               ` Stefano Stabellini
2023-12-11 10:30 ` [XEN PATCH 6/7] x86/platform: removed break to address MISRA C:2012 Rule 2.1 Nicola Vetrini
2023-12-12  1:44   ` Stefano Stabellini
2023-12-12 10:13   ` Jan Beulich
2023-12-12 22:38     ` Stefano Stabellini
2023-12-13 10:43     ` Nicola Vetrini
2023-12-11 10:30 ` [XEN PATCH 7/7] x86/xstate: move BUILD_BUG_ON " Nicola Vetrini
2023-12-12  1:46   ` Stefano Stabellini
2023-12-12 10:04   ` Jan Beulich
2023-12-12 10:07     ` Jan Beulich
2023-12-12 13:38       ` Nicola Vetrini
2023-12-12 14:01         ` Jan Beulich [this message]
2023-12-12 14:05           ` Nicola Vetrini

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=c2679666-9cd6-45aa-a222-82a589247ea2@suse.com \
    --to=jbeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=consulting@bugseng.com \
    --cc=nicola.vetrini@bugseng.com \
    --cc=roger.pau@citrix.com \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /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.