@@ -24,6 +24,7 @@ libcamera_base_private_headers = files([
'message.h',
'mutex.h',
'private.h',
+ 'regex.h',
'semaphore.h',
'thread.h',
'thread_annotations.h',
new file mode 100644
@@ -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
@@ -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>
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> --- Changes in v2: - New patch 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(-) create mode 100644 include/libcamera/base/regex.h