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