On 27/04/17 20:12 +0200, François Dumont wrote:
Hi
Here is the patch to registers Printers depending on activation of
versioned namespace.
2017-04-27 François Dumont <fdum...@gcc.gnu.org>
* python/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE]
(user_versioned_namespace): New.
(gdb.py): Adapt target.
* python/Makefile.in: Regenerate.
* python/hook.in: Likewise.
* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
Register only 1 Printer type depending on _versioned_namespace value.
(add_one_type_printer): Likewise.
(register_libstdcxx_printers): Add parameter use_versioned_namespace.
Adapt _versioned_namespace value based on it.
* testsuite/lib/gdb-test.exp (get_use_versioned_namespace): New.
(note-test): Detect if version namespace is active and pass the
information to register_libstdcxx_printers.
* testsuite/libstdc++-prettyprinters/48362.cc: Replace a regexp-test
by a note-test.
Tested under Linux x86_64, with and without version namespace.
Ok to commit to trunk ?
What's the advantage?
Again, the point of my patch was to optimise if needed. Is it needed?
Are we going to wait for gcc 7.1 before bumping version namespace ?
Shouldn't we wait until we change something that would require bumping
it? :-)
diff --git a/libstdc++-v3/testsuite/lib/gdb-test.exp
b/libstdc++-v3/testsuite/lib/gdb-test.exp
index 0507837..5685161 100644
--- a/libstdc++-v3/testsuite/lib/gdb-test.exp
+++ b/libstdc++-v3/testsuite/lib/gdb-test.exp
@@ -50,6 +50,33 @@ proc get_line_number {filename marker} {
return $gdb_markers($filename,$marker)
}
+# Detect either versioned namespace is active or not.
s/either/whether/
+proc get_use_versioned_namespace { } {
+ # Set up and preprocess a C++ test program that depends
+ # on versioned namespace activation.
s/versioned namespace activation./versioned namespaces being active./