From 42f46152849a2d4bd06a87c2dc795de1f7fc1af7 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Wed, 8 Sep 2021 08:58:39 +0200 Subject: [gdb/build] Fix build with undefined CXX_STD_THREAD When building gdb on openSUSE Leap 42.3, we trigger the case that CXX_STD_THREAD is undefined, and run into: ... gdb/maint.c: In function 'void maintenance_show_worker_threads \ (ui_file*, int, cmd_list_element*, const char*)': gdb/maint.c:877:14: error: 'gdb::thread_pool' has not been declared gdb::thread_pool::g_thread_pool->thread_count ()); ^ Makefile:1647: recipe for target 'maint.o' failed make[1]: *** [maint.o] Error 1 ... Fix this by handling the undefined CXX_STD_THREAD case in maintenance_show_worker_threads, such that we get: ... $ gdb -q -batch -ex "maint show worker-thread" The number of worker threads GDB can use is 0. ... Tested on x86_64-linux. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28312 --- gdb/maint.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'gdb') diff --git a/gdb/maint.c b/gdb/maint.c index cbd7d4e..8f8bdc8 100644 --- a/gdb/maint.c +++ b/gdb/maint.c @@ -871,14 +871,23 @@ maintenance_show_worker_threads (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) { +#if CXX_STD_THREAD if (n_worker_threads == -1) - fprintf_filtered (file, _("The number of worker threads GDB " - "can use is unlimited (currently %zu).\n"), - gdb::thread_pool::g_thread_pool->thread_count ()); - else - fprintf_filtered (file, _("The number of worker threads GDB " - "can use is %d.\n"), - n_worker_threads); + { + fprintf_filtered (file, _("The number of worker threads GDB " + "can use is unlimited (currently %zu).\n"), + gdb::thread_pool::g_thread_pool->thread_count ()); + return; + } +#endif + + int report_threads = 0; +#if CXX_STD_THREAD + report_threads = n_worker_threads; +#endif + fprintf_filtered (file, _("The number of worker threads GDB " + "can use is %d.\n"), + report_threads); } -- cgit v1.1