The build failure was noticed by Helmut Jarausch in
https://bugs.gentoo.org/680232:
$ ./configure CXXFLAGS='-std=c++17 -Os'
...
CXXLD gdb
ld: init.o: in function `initialize_all_files()':
init.c:(.text+0x113): undefined reference to `_initialize_string_view_selftests()'
It happens because '_initialize_string_view_selftests()' is
conditionally defined based on C++ default.
The change defines '_initialize_string_view_selftests()'
unconditionally and leaves implementation a no-op on c++17
compilers.
gdb/ChangeLog:
2019-03-17 Sergei Trofimovich <siarheit@google.com>
* unittests/string_view-selftests.c: Define
_initialize_string_view_selftests unconditionally.
+2019-03-17 Sergei Trofimovich <siarheit@google.com>
+
+ * unittests/string_view-selftests.c: Define
+ _initialize_string_view_selftests unconditionally.
+
2019-03-17 Vladimir Martyanov <vilgeforce@gmail.com>
PR gdb/24350
} /* namespace string_view */
} /* namespace selftests */
+#endif /* __cplusplus < 201703L */
+
void
_initialize_string_view_selftests ()
{
+#if defined(GDB_STRING_VIEW)
selftests::register_test ("string_view", selftests::string_view::run_tests);
+#endif
}
-
-#endif /* __cplusplus < 201703L */