[v2] gdb: unconditionally define _initialize_string_view_selftests
Commit Message
From: Sergei Trofimovich <siarheit@google.com>
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 | 6 ++++++
gdb/unittests/string_view-selftests.c | 6 ++++--
2 files changed, 10 insertions(+), 2 deletions(-)
Comments
On Sunday, March 17 2019, Sergei Trofimovich wrote:
> From: Sergei Trofimovich <siarheit@google.com>
>
> 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 | 6 ++++++
> gdb/unittests/string_view-selftests.c | 6 ++++--
> 2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
> index 862c89e821..7684d9be60 100644
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -1,3 +1,9 @@
> +2019-03-17 Sergei Trofimovich <siarheit@google.com>
> +
> + * unittests/string_view-selftests.c: define
Uppercase "D" on "Define".
> + _initialize_string_view_selftests unconditionally. This
> + fixes build failure on CXXFLAGS="-std=c++17" setup.
FWIW, a ChangeLog entry should mention *what* changed, not *why*. So
something like:
2019-03-17 Sergei Trofimovich <siarheit@google.com>
* unittests/string_view-selftests.c: Define
_initialize_string_view_selftests unconditionally.
is fine.
Since Tom has already approved the patch, I went ahead and checked it
in:
58785d9888c699770154ef1d42fcea7598e8d704
Thanks,
@@ -1,3 +1,9 @@
+2019-03-17 Sergei Trofimovich <siarheit@google.com>
+
+ * unittests/string_view-selftests.c: define
+ _initialize_string_view_selftests unconditionally. This
+ fixes build failure on CXXFLAGS="-std=c++17" setup.
+
2019-03-14 Eli Zaretskii <eliz@gnu.org>
The MS-Windows port of ncurses fails to switch to a color pair if
@@ -170,10 +170,12 @@ run_tests ()
} /* 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 */