GCC 15.2.1 requires it:
[67/6111] Compiling C++ object contrib/plugins/libcpp.so.p/cpp.cpp.o
FAILED: contrib/plugins/libcpp.so.p/cpp.cpp.o
c++ -Icontrib/plugins/libcpp.so.p -Icontrib/plugins -I../contrib/plugins
-I../include/plugins -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/usr/include/sysprof-6 -fdiagnostics-color=auto -D_GLIBCXX_ASSERTIONS=1 -Wall
-Winvalid-pch -Werror -O2 -g -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv
-ftrivial-auto-var-init=zero -fzero-call-used-regs=used-gpr
-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
-fsanitize=address -fstack-protector-strong -fsanitize=undefined -Wempty-body
-Wendif-labels -Wexpansion-to-defined -Wformat-security -Wformat-y2k
-Wignored-qualifiers -Wimplicit-fallthrough=2 -Winit-self
-Wmissing-format-attribute -Wredundant-decls -Wshadow=local -Wtype-limits
-Wundef -Wvla -Wwrite-strings -Wno-missing-include-dirs -Wno-psabi
-Wno-shift-negative-value -isystem /home/me/q/var/qemu/linux-headers -isystem
linux-headers -iquote . -iquote /home/me/q/var/qemu -iquote
/home/me/q/var/qemu/!
include -iquote /home/me/q/var/qemu/host/include/aarch64 -iquote
/home/me/q/var/qemu/host/include/generic -iquote
/home/me/q/var/qemu/tcg/aarch64 -pthread -fPIC -MD -MQ
contrib/plugins/libcpp.so.p/cpp.cpp.o -MF
contrib/plugins/libcpp.so.p/cpp.cpp.o.d -o
contrib/plugins/libcpp.so.p/cpp.cpp.o -c ../contrib/plugins/cpp.cpp
In file included from ../contrib/plugins/cpp.cpp:91:
/usr/include/c++/15/coroutine:43:3: error: #error "the <coroutine> header
requires -fcoroutines"
43 | # error "the <coroutine> header requires -fcoroutines"
| ^~~~~
Signed-off-by: Akihiko Odaki <[email protected]>
---
contrib/plugins/meson.build | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/contrib/plugins/meson.build b/contrib/plugins/meson.build
index 099319e7a173..caa0fca17245 100644
--- a/contrib/plugins/meson.build
+++ b/contrib/plugins/meson.build
@@ -26,8 +26,14 @@ endif
t = []
if get_option('plugins')
foreach i : contrib_plugins
+ if i == 'cpp.cpp' and cxx.has_argument('-fcoroutines')
+ cpp_args = ['-fcoroutines']
+ else
+ cpp_args = []
+ endif
+
t += shared_module(fs.stem(i), files(i),
- dependencies: plugins_deps)
+ cpp_args: cpp_args, dependencies: plugins_deps)
endforeach
endif
if t.length() > 0
---
base-commit: afe653676dc6dfd49f0390239ff90b2f0052c2b8
change-id: 20260304-cpp-ddc219374e4f
Best regards,
--
Akihiko Odaki <[email protected]>