[gdb/build] Fix build with --disable-unit-tests
authorTom de Vries <tdevries@suse.de>
Fri, 29 Oct 2021 12:11:08 +0000 (14:11 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 29 Oct 2021 12:11:08 +0000 (14:11 +0200)
commitb88e456f7e3e6d8c354da57d3e77a98575070ee8
treeae039d8d59040b4948105511f21e612d143c3ee4
parent91b7c7e522802371f07cf614e5e5b24c1911a6d8
[gdb/build] Fix build with --disable-unit-tests

A build with --disable-unit-tests currently run into:
...
ld: maint.o: in function \
  `maintenance_selftest_completer(cmd_list_element*, completion_tracker&,
                                  char const*, char const*)':
src/gdb/maint.c:1183: undefined reference to \
  `selftests::for_each_selftest(
    gdb::function_view<
      void (std::__cxx11::basic_string<char,std::char_traits<char>,
                                       std::allocator<char> > const&)>)'
...

Fix this by guarding the call to selftests::for_each_selftest in
maintenance_selftest_completer with GDB_SELF_TEST, such that the "-verbose"
completion still works.

Rebuild on x86_64-linux and ran gdb.gdb/unittest.exp.
gdb/maint.c
gdb/testsuite/gdb.gdb/unittest.exp