public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [libstdc++] Refactor python/hook.in
@ 2014-09-29 13:02 Siva Chandra
  2014-09-29 13:11 ` Jonathan Wakely
  0 siblings, 1 reply; 4+ messages in thread
From: Siva Chandra @ 2014-09-29 13:02 UTC (permalink / raw)
  To: gcc-patches, libstdc++; +Cc: Jonathan Wakely, Tom Tromey

[-- Attachment #1: Type: text/plain, Size: 562 bytes --]

The attached patch refactors python/hook.in so that there are no
individual function calls to load pretty printers and xmethods. This
was suggested by Tom here:
https://gcc.gnu.org/ml/gcc-patches/2014-08/msg02589.html. He indicates
that it is better to put as little as possible in the hook file. The
attached patch removes all code which explicitly loads the hooks from
hook.in.

2014-09-29  Siva Chandra Reddy  <sivachandra@google.com>

        * python/hook.in: Only import libstdcxx.v6.
        * python/libstdcxx/v6/__init__.py: Load printers and xmethods.

[-- Attachment #2: refactor_loading_hooks_v1.txt --]
[-- Type: text/plain, Size: 2199 bytes --]

diff --git a/libstdc++-v3/python/hook.in b/libstdc++-v3/python/hook.in
index aeb1cdb..30cf538 100644
--- a/libstdc++-v3/python/hook.in
+++ b/libstdc++-v3/python/hook.in
@@ -55,18 +55,4 @@ if gdb.current_objfile () is not None:
     if not dir_ in sys.path:
         sys.path.insert(0, dir_)
 
-# Load the pretty-printers.
-from libstdcxx.v6.printers import register_libstdcxx_printers
-register_libstdcxx_printers (gdb.current_objfile ())
-
-# Load the xmethods if GDB supports them.
-def gdb_has_xmethods():
-    try:
-        import gdb.xmethod
-        return True
-    except ImportError:
-        return False
-
-if gdb_has_xmethods():
-    from libstdcxx.v6.xmethods import register_libstdcxx_xmethods
-    register_libstdcxx_xmethods (gdb.current_objfile ())
+import libstdcxx.v6
diff --git a/libstdc++-v3/python/libstdcxx/v6/__init__.py b/libstdc++-v3/python/libstdcxx/v6/__init__.py
index 8b13789..59c1f27 100644
--- a/libstdc++-v3/python/libstdcxx/v6/__init__.py
+++ b/libstdc++-v3/python/libstdcxx/v6/__init__.py
@@ -1 +1,32 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
 
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+import gdb
+
+# Load the pretty-printers.
+from printers import register_libstdcxx_printers
+register_libstdcxx_printers(gdb.current_objfile())
+
+# Load the xmethods if GDB supports them.
+def gdb_has_xmethods():
+    try:
+        import gdb.xmethod
+        return True
+    except ImportError:
+        return False
+
+if gdb_has_xmethods():
+    from xmethods import register_libstdcxx_xmethods
+    register_libstdcxx_xmethods(gdb.current_objfile())

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [libstdc++] Refactor python/hook.in
  2014-09-29 13:02 [libstdc++] Refactor python/hook.in Siva Chandra
@ 2014-09-29 13:11 ` Jonathan Wakely
  2014-09-29 14:51   ` Tom Tromey
  2014-09-30 15:34   ` Jonathan Wakely
  0 siblings, 2 replies; 4+ messages in thread
From: Jonathan Wakely @ 2014-09-29 13:11 UTC (permalink / raw)
  To: Siva Chandra; +Cc: gcc-patches, libstdc++, Jonathan Wakely, Tom Tromey

On 29/09/14 06:02 -0700, Siva Chandra wrote:
>The attached patch refactors python/hook.in so that there are no
>individual function calls to load pretty printers and xmethods. This
>was suggested by Tom here:
>https://gcc.gnu.org/ml/gcc-patches/2014-08/msg02589.html. He indicates
>that it is better to put as little as possible in the hook file. The
>attached patch removes all code which explicitly loads the hooks from
>hook.in.

This looks good to me, thanks.

I'll commit it later this week unless I hear objections from Tom.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [libstdc++] Refactor python/hook.in
  2014-09-29 13:11 ` Jonathan Wakely
@ 2014-09-29 14:51   ` Tom Tromey
  2014-09-30 15:34   ` Jonathan Wakely
  1 sibling, 0 replies; 4+ messages in thread
From: Tom Tromey @ 2014-09-29 14:51 UTC (permalink / raw)
  To: Jonathan Wakely
  Cc: Siva Chandra, gcc-patches, libstdc++, Jonathan Wakely, Tom Tromey

Jonathan> I'll commit it later this week unless I hear objections from
Jonathan> Tom.

It looks reasonable to me.

Tom

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [libstdc++] Refactor python/hook.in
  2014-09-29 13:11 ` Jonathan Wakely
  2014-09-29 14:51   ` Tom Tromey
@ 2014-09-30 15:34   ` Jonathan Wakely
  1 sibling, 0 replies; 4+ messages in thread
From: Jonathan Wakely @ 2014-09-30 15:34 UTC (permalink / raw)
  To: Siva Chandra; +Cc: gcc-patches, libstdc++, Jonathan Wakely, Tom Tromey

On 29/09/14 14:11 +0100, Jonathan Wakely wrote:
>On 29/09/14 06:02 -0700, Siva Chandra wrote:
>>The attached patch refactors python/hook.in so that there are no
>>individual function calls to load pretty printers and xmethods. This
>>was suggested by Tom here:
>>https://gcc.gnu.org/ml/gcc-patches/2014-08/msg02589.html. He indicates
>>that it is better to put as little as possible in the hook file. The
>>attached patch removes all code which explicitly loads the hooks from
>>hook.in.
>
>This looks good to me, thanks.
>
>I'll commit it later this week unless I hear objections from Tom.

Committed to trunk - thanks for the patch.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-09-30 15:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-29 13:02 [libstdc++] Refactor python/hook.in Siva Chandra
2014-09-29 13:11 ` Jonathan Wakely
2014-09-29 14:51   ` Tom Tromey
2014-09-30 15:34   ` Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).