On Wed, Sep 9, 2020 at 11:42 AM Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> wrote: > > It will not work like this in GCC, no. The LLVM people know about that. > I do not know why they insist on pushing this, being incompatible and > everything. Umm. Since they'd be the ones supporting this, *gcc* would be the incompatible one, not clang. Like it or not, clang is becoming a major kernel compiler. It's already basically used for all android uses afaik. So I'd phrase it differently. If gcc is planning on doing some different model for asm goto with outputs, that would be the incompatible case. I'm not sure how gcc could do it differently. The only possible difference I see is (a) not doing it at all (b) doing the "all goto targets have the outputs" case and honestly, (b) is actually inferior for the error cases, even if to a compiler person it might feel like the "RightThing(tm)" to do. Because when an exception happens, the outputs simply won't be initialized. Anyway, for either of those cases, the kernel won't care either way. We'll have to support the non-goto case for many years even if everybody were to magically implement it today, so it's not like this is a "you have to do it" thing. Linus