diff options
| author | Pierrick Bouvier <pierrick.bouvier@linaro.org> | 2025-12-30 12:19:18 -0800 |
|---|---|---|
| committer | Pierrick Bouvier <pierrick.bouvier@linaro.org> | 2026-01-29 09:34:14 -0800 |
| commit | 20fc9c3f8b3e36d5a698fffbd1dac4399666ce6b (patch) | |
| tree | 29e95db5ee23b3ab2f01fd4ea27e419bd8f3ac56 /contrib/plugins/cpp.cpp | |
| parent | a6abd84425599e9844aaa4bb72be4eba30194df6 (diff) | |
| download | qemu-20fc9c3f8b3e36d5a698fffbd1dac4399666ce6b.tar.gz qemu-20fc9c3f8b3e36d5a698fffbd1dac4399666ce6b.tar.bz2 qemu-20fc9c3f8b3e36d5a698fffbd1dac4399666ce6b.zip | |
contrib/plugins: add empty cpp plugin
This plugin makes sure we can compile in C++ while including qemu-plugin
header. It includes all C++ standard headers, up to C++23 standard,
minus the ones that are missing in the oldest environments we need to
build for.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Link: https://lore.kernel.org/qemu-devel/20260124182921.531562-12-pierrick.bouvier@linaro.org
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Diffstat (limited to 'contrib/plugins/cpp.cpp')
| -rw-r--r-- | contrib/plugins/cpp.cpp | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/contrib/plugins/cpp.cpp b/contrib/plugins/cpp.cpp new file mode 100644 index 0000000000..1ff54896d9 --- /dev/null +++ b/contrib/plugins/cpp.cpp @@ -0,0 +1,119 @@ +/* + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This C++ plugin ensures we don't have regression when compiling C++. + */ + +#include <qemu-plugin.h> + +/* https://en.cppreference.com/w/cpp/headers.html */ +#include <algorithm> +#include <any> +#include <array> +#include <atomic> +#include <barrier> +#include <bit> +#include <bitset> +#include <cassert> +#include <cctype> +#include <cerrno> +#include <cfenv> +#include <cfloat> +#include <charconv> +#include <chrono> +#include <cinttypes> +#include <climits> +#include <clocale> +#include <cmath> +#include <codecvt> +#include <compare> +#include <complex> +#include <concepts> +#include <condition_variable> +#include <coroutine> +#include <csetjmp> +#include <csignal> +#include <cstdarg> +#include <cstddef> +#include <cstdint> +#include <cstdio> +#include <cstdlib> +#include <cstring> +#include <ctime> +#include <cuchar> +#include <cwchar> +#include <cwctype> +#include <deque> +#include <exception> +#include <execution> +#include <filesystem> +#include <forward_list> +#include <fstream> +#include <functional> +#include <future> +#include <initializer_list> +#include <iomanip> +#include <ios> +#include <iosfwd> +#include <iostream> +#include <istream> +#include <iterator> +#include <latch> +#include <limits> +#include <list> +#include <locale> +#include <map> +#include <memory> +#include <memory_resource> +#include <mutex> +#include <new> +#include <numbers> +#include <numeric> +#include <optional> +#include <ostream> +#include <queue> +#include <random> +#include <ranges> +#include <ratio> +#include <regex> +#include <scoped_allocator> +#include <semaphore> +#include <set> +#include <shared_mutex> +#include <source_location> +#include <span> +#include <sstream> +#include <stack> +#include <stdexcept> +#include <stop_token> +#include <streambuf> +#include <string> +#include <string_view> +#include <syncstream> +#include <system_error> +#include <thread> +#include <tuple> +#include <typeindex> +#include <typeinfo> +#include <type_traits> +#include <unordered_map> +#include <unordered_set> +#include <utility> +#include <valarray> +#include <variant> +#include <vector> +#include <version> + +QEMU_PLUGIN_EXPORT int qemu_plugin_version = QEMU_PLUGIN_VERSION; + +static void vcpu_tb_trans(qemu_plugin_id_t id, struct qemu_plugin_tb *tb) +{ +} + +QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t id, + const qemu_info_t *info, + int argc, char **argv) +{ + qemu_plugin_register_vcpu_tb_trans_cb(id, vcpu_tb_trans); + return 0; +} |
