[v3,1/4] libcamera: base: Wrap <regex.h>
diff mbox series

Message ID 20251203-rzv2h-pre-v3-1-1493e0638626@ideasonboard.com
State New
Headers show
Series
  • Use regular expressions for entity name matching
Related show

Commit Message

Jacopo Mondi Dec. 3, 2025, 9:14 a.m. UTC
From: Daniel Scally <dan.scally@ideasonboard.com>

Provide a wrapper for regex.h to work around the false-positive
compilation errors that crop up in some versions of gcc.

Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
 include/libcamera/base/meson.build |  1 +
 include/libcamera/base/regex.h     | 13 +++++++++++++
 src/libcamera/v4l2_subdevice.cpp   |  8 +-------
 3 files changed, 15 insertions(+), 7 deletions(-)

Patch
diff mbox series

diff --git a/include/libcamera/base/meson.build b/include/libcamera/base/meson.build
index f28ae4d42a69c755710b51ffc92976bb6fb6a0d8..f84b514191949f625c3c70f116059ee70de464b5 100644
--- a/include/libcamera/base/meson.build
+++ b/include/libcamera/base/meson.build
@@ -24,6 +24,7 @@  libcamera_base_private_headers = files([
     'message.h',
     'mutex.h',
     'private.h',
+    'regex.h',
     'semaphore.h',
     'thread.h',
     'thread_annotations.h',
diff --git a/include/libcamera/base/regex.h b/include/libcamera/base/regex.h
new file mode 100644
index 0000000000000000000000000000000000000000..1ae21c1f971387da48282d9144827c75270cdcc6
--- /dev/null
+++ b/include/libcamera/base/regex.h
@@ -0,0 +1,13 @@ 
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2025, Ideas on Board Oy
+ *
+ * std::regex wrapper for gcc
+ */
+
+#pragma GCC diagnostic push
+#if defined __SANITIZE_ADDRESS__ && defined __OPTIMIZE__
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+#endif
+#include <regex>
+#pragma GCC diagnostic pop
diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp
index 31a2ac72a7ee6f980b6110ba73919f74d3b7bbe2..b75edffe762155e428e039b4884bed3d469ba751 100644
--- a/src/libcamera/v4l2_subdevice.cpp
+++ b/src/libcamera/v4l2_subdevice.cpp
@@ -13,17 +13,11 @@ 
 #include <sys/ioctl.h>
 #include <unistd.h>
 
-#pragma GCC diagnostic push
-#if defined __SANITIZE_ADDRESS__ && defined __OPTIMIZE__
-#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
-#endif
-#include <regex>
-#pragma GCC diagnostic pop
-
 #include <linux/media-bus-format.h>
 #include <linux/v4l2-subdev.h>
 
 #include <libcamera/base/log.h>
+#include <libcamera/base/regex.h>
 #include <libcamera/base/utils.h>
 
 #include <libcamera/geometry.h>