This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Make pretty printers version namespace dependant


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  <fdumont@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./


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]