diff options
Diffstat (limited to 'media-libs/libv4l/files/libv4l-1.26.1-libcxx.patch')
-rw-r--r-- | media-libs/libv4l/files/libv4l-1.26.1-libcxx.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/media-libs/libv4l/files/libv4l-1.26.1-libcxx.patch b/media-libs/libv4l/files/libv4l-1.26.1-libcxx.patch new file mode 100644 index 000000000000..5b5eea83bc9a --- /dev/null +++ b/media-libs/libv4l/files/libv4l-1.26.1-libcxx.patch @@ -0,0 +1,58 @@ +From c7ef1a55bb6accb708a4e09d71028b904b07e49e Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Wed, 7 Feb 2024 22:48:59 +0000 +Subject: [PATCH] v4l2-compliance: Fix building against libc++ + +v4l2-test-time32-64.cpp included compiler.h, which checks +_LIBCPP_VERSION. This only works against libc++ when a C++ header has +already been included, which wasn't the case here. + +The <version> header is the C++20 method of defining _LIBCPP_VERSION, +but for older versions, <ciso646> works as an alternative, so include +that in compiler.h. + +compiler.h is for C as well as C++ though, so use __cplusplus to check +for a C++ compiler before including <ciso646>. + +Signed-off-by: James Le Cuirot <chewi@gentoo.org> +--- + include/compiler.h | 27 ++++++++++++--------------- + 1 file changed, 12 insertions(+), 15 deletions(-) + +diff --git a/include/compiler.h b/include/compiler.h +index 5ad54f41..169247a8 100644 +--- a/include/compiler.h ++++ b/include/compiler.h +@@ -1,17 +1,14 @@ +-#ifdef _LIBCPP_VERSION +-#define fallthrough _LIBCPP_FALLTHROUGH() ++#if !defined(__cplusplus) || __cplusplus < 201103L ++ #define fallthrough ((void)0) + #else +- +-#if __cplusplus >= 201103L +- +-#ifdef __clang__ +-#define fallthrough [[clang::fallthrough]] +-#else +-#define fallthrough [[gnu::fallthrough]] +-#endif // __clang__ +- +-#else +-#define fallthrough ((void)0) +- ++ #include <ciso646> ++ #ifdef _LIBCPP_VERSION ++ #define fallthrough _LIBCPP_FALLTHROUGH() ++ #else ++ #ifdef __clang__ ++ #define fallthrough [[clang::fallthrough]] ++ #else ++ #define fallthrough [[gnu::fallthrough]] ++ #endif // __clang__ ++ #endif // _LIBCPP_VERSION + #endif // __cplusplus +-#endif // _LIBCPP_VERSION +-- +2.43.0 + |