On 11.08.2025 23:25, Nicola Vetrini wrote:
> On 2025-08-11 22:30, Dmytro Prokopchuk1 wrote:
>> --- a/xen/arch/arm/decode.c
>> +++ b/xen/arch/arm/decode.c
>> @@ -178,6 +178,9 @@ static int decode_thumb(register_t pc, struct 
>> hsr_dabt *dabt)
>>          case 3: /* Signed byte */
>>              update_dabt(dabt, reg, 0, true);
>>              break;
>> +        default:
>> +            ASSERT_UNREACHABLE();
>> +            break;
>>          }
>>
> 
> I think this is fine, and there should be no problems with the break 
> being unreachable in some configs due to the call property for 
> ASSERT_UNREACHABLE
> 
> -doc_begin="Calls to function `__builtin_unreachable()' in the expansion 
> of macro
> `ASSERT_UNREACHABLE()' are not considered to have the `noreturn' 
> property."
> -call_properties+={"name(__builtin_unreachable)&&stmt(begin(any_exp(macro(name(ASSERT_UNREACHABLE)))))",
>  
> {"noreturn(false)"}}
> -doc_end

Did you also see Julien's reply? Imo, to address a complaint from one
rule, another rule is then being violated: The "default" label itself
is unreachable here.

Jan

Reply via email to