|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/4] Eclair: relax long <-> function-pointer conversion deviation
On 12.09.2026 17:19, Nicola Vetrini wrote:
> On 2026-09-03 13:43, Jan Beulich wrote:
>> What is true for unsigned long is also true for plain/signed long, thus
>> also taking care of two instances of __x86_return_thunk() being cast to
>> long.
>>
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>
> Reviewed-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
Thanks.
> Some nits below:
>
>>
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -368,17 +368,17 @@ constant expressions are required.\""
>> # Series 11
>> #
>>
>> --doc_begin="The conversion from a function pointer to unsigned long or
>> (void *) does not lose any information, provided that the target type has
>> enough bits to store it."
>> +-doc_begin="The conversion from a function pointer to [unsigned] long or
>> (void *) does not lose any information, provided that the target type has
>> enough bits to store it."
>> -config=MC3A2.R11.1,casts+={safe,
>> "from(type(canonical(__function_pointer_types)))
>> - &&to(type(canonical(builtin(unsigned long)||pointer(builtin(void)))))
>> + &&to(type(canonical(builtin(long)||builtin(unsigned
>> long)||pointer(builtin(void)))))
>> &&relation(definitely_preserves_value)"
>> }
>
> could be canonical(builtin(long||unsigned long))||pointer(builtin(void))
>
>> -doc_end
>>
>> --doc_begin="Conversion from unsigned long or (void *) to a function pointer
>> can restore full information, provided that the source type has enough bits
>> to restore it."
>> +-doc_begin="Conversion from [unsigned] long or (void *) to a function
>> pointer can restore full information, provided that the source type has
>> enough bits to restore it."
>> -config=MC3A2.R11.1,casts+={safe,
>> - "from(type(canonical(builtin(unsigned long)||pointer(builtin(void)))))
>> + "from(type(canonical(builtin(long)||builtin(unsigned
>> long)||pointer(builtin(void)))))
>> &&to(type(canonical(__function_pointer_types)))
>> &&relation(definitely_preserves_value)"
>> }
>
> Same as above
Okay, I'll happily adjust. As I have no reference for the syntax, I just
have to guess when making changes.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |