* [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).