Message ID | CAGyQ6gyqMPZyJMN6326qtAzSTAAc1azodk5Jx3ZtMoFYM5puOQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
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.
Jonathan> I'll commit it later this week unless I hear objections from Jonathan> Tom. It looks reasonable to me. Tom
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.
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())