|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012 Rule 2.1
On 04.08.2023 22:26, Stefano Stabellini wrote:
> On Fri, 4 Aug 2023, Jan Beulich wrote:
>> On 03.08.2023 16:22, Nicola Vetrini wrote:
>>> On 03/08/2023 11:01, Jan Beulich wrote:
>>>> On 03.08.2023 04:13, Stefano Stabellini wrote:
>>>>> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>>>>>> @@ -1169,8 +1170,6 @@ static void cf_check
>>>>>> irq_guest_eoi_timer_fn(void *data)
>>>>>>
>>>>>> switch ( action->ack_type )
>>>>>> {
>>>>>> - cpumask_t *cpu_eoi_map;
>>>>>
>>>>> It is only used by case ACKTYPE_EOI so it can be moved there (with a
>>>>> new
>>>>> block):
>>>>>
>>>>>
>>>>> case ACKTYPE_EOI:
>>>>> {
>>>>> cpumask_t *cpu_eoi_map = this_cpu(scratch_cpumask);
>>>>> cpumask_copy(cpu_eoi_map, action->cpu_eoi_map);
>>>>> spin_unlock_irq(&desc->lock);
>>>>> on_selected_cpus(cpu_eoi_map, set_eoi_ready, desc, 0);
>>>>> return;
>>>>> }
>>>>> }
>>>>
>>>> This pattern (two closing braces at the same level) is why switch scope
>>>> variable declarations were introduced (at least as far as introductions
>>>> by me go). If switch scope variables aren't okay (which I continue to
>>>> consider questionable), then this stylistic aspect needs sorting first
>>>> (if everyone else thinks the above style is okay - with the missing
>>>> blank line inserted -, then so be it).
>>>
>>> Actually, they can be deviated because they don't result in wrong code
>>> being generated.
>>
>> Only later I recalled Andrew's intention to possibly make use of
>> -ftrivial-auto-var-init. While, unlike I think he said, such declared
>> variables aren't getting in the way of this (neither gcc nor clang
>> warn about them), they also don't benefit from it (i.e. they'll be
>> left uninitialized despite the command line option saying otherwise).
>> IOW I think further consideration is going to be needed here.
>
> Let me get this right. Are you saying that if we enable
> -ftrivial-auto-var-init, due to a compiler limitation, variables
> declared as follow:
>
> switch(var) {
> int a;
> char b;
>
> case ...
>
> do not benefit from -ftrivial-auto-var-init ?
Yes, that's my observation with both compilers.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |