On 29.07.2025 15:02, Nicola Vetrini wrote:
> On 2025-07-29 14:39, Jan Beulich wrote:
>> On 29.07.2025 14:21, Dmytro Prokopchuk1 wrote:
>>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> @@ -367,6 +367,13 @@ constant expressions are required.\""
>>>  }
>>>  -doc_end
>>>
>>> +-doc_begin="The conversion from 'void noreturn (*)(void *)' to 'void 
>>> (*)(void *)' is safe
>>> +because the semantics of the 'noreturn' attribute do not alter the 
>>> calling convention or behavior of the resulting code."
>>> +-config=MC3A2.R11.1,casts+={safe,
>>> +  
>>> "kind(bitcast)&&to(type(pointer(inner(return(builtin(void))&&all_param(1, 
>>> pointer(builtin(void)))))))&&from(expr(skip(!syntactic(),
>>> +   ref(property(noreturn)))))"}
>>> +-doc_end
>>
>> As I understand it, this is about any function, not just void (void *) 
>> ones.
>> Hence throughout anything textual in this patch, may I ask that this be 
>> made
>> explicit by inserting e.g. "e.g." everywhere?
> 
> Technically yes, in practice other implicit function pointer conversions 
> would be caught by -Wincompatible-pointer-types and similar flags so 
> they don't even come into play. However I agree that adding that is 
> clearer.

Perhaps a misunderstanding: With "any" I meant any which has a noreturn
attribute, when converted to one with otherwise the same signature. But
irrespective of the particular return type or parameter types (i.e.
specifically not just void (void *) ones).

Jan

Reply via email to