Fix pretty-printer for std::variant
* python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new data member name. * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test. From-SVN: r243304
This commit is contained in:
parent
55037a694f
commit
449a432129
3 changed files with 5 additions and 3 deletions
|
@ -1,5 +1,9 @@
|
|||
2016-12-06 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
|
||||
data member name.
|
||||
* testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.
|
||||
|
||||
* include/bits/shared_ptr_base.h
|
||||
(__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.
|
||||
|
||||
|
|
|
@ -1002,7 +1002,7 @@ class StdVariantPrinter(SingleObjContainerPrinter):
|
|||
visualizer = None
|
||||
else:
|
||||
self.contained_type = alternatives[int(self.index)]
|
||||
addr = val['_M_union']['_M_first']['_M_storage'].address
|
||||
addr = val['_M_u']['_M_first']['_M_storage'].address
|
||||
contained_value = addr.cast(self.contained_type.pointer()).dereference()
|
||||
visualizer = gdb.default_visualizer(contained_value)
|
||||
super (StdVariantPrinter, self).__init__(contained_value, visualizer, 'array')
|
||||
|
|
|
@ -86,8 +86,6 @@ main()
|
|||
// { dg-final { note-test v3 {std::variant<float, int, std::string_view> [index 1] = {3}} } }
|
||||
variant<float, int, string_view> v4{ str };
|
||||
// { dg-final { note-test v4 {std::variant<float, int, std::string_view> [index 2] = {"string"}} } }
|
||||
variant<string_view> vref{str};
|
||||
// { dg-final { note-test vref {std::variant<std::string_view> [index 0] = {"string"}} } }
|
||||
|
||||
map<int, string_view> m{ {1, "one"} };
|
||||
map<int, string_view>::node_type n0;
|
||||
|
|
Loading…
Add table
Reference in a new issue