On Sun, Feb 26, 2023 at 10:08 PM Alexei Podtelezhnikov <apodt...@gmail.com> wrote: > > On Sun, Feb 26, 2023 at 7:08 PM Bruno Haible <br...@clisp.org> wrote: > > > > Alexei Podtelezhnikov wrote: > > > -# elif (__GNUC__ >= 7) || (__clang_major__ >= 10) > > > +# elif ((__GNUC__ >= 7) \ > > > + || (defined __apple_build_version__ \ > > > + ? __apple_build_version__ >= 14000000 \ > > > + : __clang_major__ >= 10)) > > > > > > Wiki suggests __apple_build_version__ >= 12000000 > > > https://en.wikipedia.org/wiki/Xcode#Xcode_11.0_-_14.x_(since_SwiftUI_framework)_2 > > > > Interesting. Can you test it (by compiling Werner's test program from > > <https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00159.html> > > on an Xcode version between 12.0 and 12.4)? > > I wish I could directly test it. However, I could confirm that Swift > release 5.3 (Xcode 12) was the first release with this line > https://github.com/apple/llvm-project/blob/swift-5.3-RELEASE/clang/test/Sema/fallthrough-attr.c#L18
Why jump through the compiler version hoops for a non-portable solution? The simplest solution is to use a /* fallthrough */ comment: https://stackoverflow.com/a/45137452 . It does not depend on compiler extensions or language versions. Jeff