https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80276

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Mon Jan 15 11:13:53 2018
New Revision: 256689

URL: https://gcc.gnu.org/viewcvs?rev=256689&root=gcc&view=rev
Log:
PR libstdc++/80276 fix template argument handling in type printers

        PR libstdc++/80276
        * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
        (get_template_arg_list): New.
        (StdVariantPrinter._template_args): Remove, use get_template_arg_list
        instead.
        (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
        of strings and regular expressions.
        (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
        (FilteringTypePrinter): Add docstring. Match using startswith. Use
        strip_inline_namespaces instead of strip_versioned_namespace.
        (add_one_type_printer): Prepend namespace to match argument.
        (register_type_printers): Add type printers for char16_t and char32_t
        string types and for types using cxx11 ABI. Update calls to
        add_one_template_type_printer to provide default argument dicts.
        * testsuite/libstdc++-prettyprinters/80276.cc: New test.
        * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
        basic_string<unsigned char> and basic_string<signed char>.
        * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
        to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.

Added:
    trunk/libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc
    trunk/libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis2.cc
      - copied, changed from r256688,
trunk/libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/python/libstdcxx/v6/printers.py
    trunk/libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis.cc

Reply via email to