This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Make pretty printers version namespace dependant
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: François Dumont <frs dot dumont at gmail dot com>
- Cc: "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 27 Apr 2017 19:32:35 +0100
- Subject: Re: Make pretty printers version namespace dependant
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jwakely at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 07F4064D87
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 07F4064D87
- References: <7e10edf1-2395-3a91-25cf-9382dbe73a0f@gmail.com>
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./