[PATCH 4/4] meson: Deprecate bitwise operations between different enumeration type

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri May 3 04:52:05 CEST 2024


C++20 deprecates bitwise operations between different enumeration types.
This is a bad practice even in C++17, so enable the deprecation warning.
Doing so ensures no such operations will be added.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 meson.build | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/meson.build b/meson.build
index 39e4947f8c97..89320adbde1f 100644
--- a/meson.build
+++ b/meson.build
@@ -178,6 +178,15 @@ if cc.has_argument('-Wno-c99-designator')
     ]
 endif
 
+# Enable the C++20 deprecated enum-enum conversion warning if the compiler
+# supports it. This helps avoiding C++20 regressions, and should be removed
+# when switching to C++20 as the warning will then be enabled by default.
+if cxx.has_argument('-Wdeprecated-enum-enum-conversion')
+    cpp_arguments += [
+        '-Wdeprecated-enum-enum-conversion',
+    ]
+endif
+
 c_arguments += common_arguments
 cpp_arguments += common_arguments
 
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list