On Wed, 26 Jul 2023 12:05:13 GMT, Alexander Zvegintsev <[email protected]> 
wrote:

>> src/java.desktop/unix/native/libpipewire/include/spa/utils/defs.h line 62:
>> 
>>> 60: #  define SPA_FALLTHROUGH [[clang::fallthrough]];
>>> 61: #elif defined(__GNUC__) && __GNUC__ >= 7
>>> 62: #  define SPA_FALLTHROUGH __attribute__ ((fallthrough));
>> 
>> Upstream still has this issue/bug. 
>> https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/spa/include/spa/utils/defs.h
>> Do they intend to support only GNUC 7 and up ? Not clear. Best to ask.
>
> Ideally, this should be fixed upstream, but while we wait, we can try to fix 
> the build failure in our source by adding definition of `__clang_major__` 
> just before including the 
> [pipewire/stream.h](https://github.com/openjdk/jdk/blob/master/src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.h#L36)
> 
> 
> // some comment why we are doing this
> #ifndef __clang_major__
> #define __clang_major__ 0
> #endif
> 
> 
> It looks like that the `defs.h` is the only file that uses `__clang_major__`  
> in libxawt, so this define should be safe.
> 
> 
> But the question of GCC < 7 support remains open.

Um. If we want to minimize divergence with upstream, defining `__clang_major__` 
seems riskier than rewriting a single block that uses it incorrectly. Because I 
cannot be sure if _any other_ `ifdef` that checks `__clang_major__` would work 
correctly.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/14995#discussion_r1275292579

Reply via email to