diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py index 0187c4b60e6..1a8017adb22 100644 --- a/libstdc++-v3/python/libstdcxx/v6/printers.py +++ b/libstdc++-v3/python/libstdcxx/v6/printers.py @@ -1343,7 +1343,7 @@ class StdExpOptionalPrinter(SingleObjContainerPrinter): def __init__ (self, typename, val): valtype = self._recognize (val.type.template_argument(0)) typename = strip_versioned_namespace(typename) - self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1) + self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3', typename, 1) payload = val['_M_payload'] if self.typename.startswith('std::experimental'): engaged = val['_M_engaged'] @@ -1375,7 +1375,6 @@ class StdVariantPrinter(SingleObjContainerPrinter): def __init__(self, typename, val): alternatives = get_template_arg_list(val.type) self.typename = strip_versioned_namespace(typename) - self.typename = "%s<%s>" % (self.typename, ', '.join([self._recognize(alt) for alt in alternatives])) self.index = val['_M_index'] if self.index >= len(alternatives): self.contained_type = None diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc index 34022cf1459..acc20a30d8e 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc @@ -102,13 +102,13 @@ main() using std::optional; optional o; -// { dg-final { note-test o {std::optional [no contained value]} } } +// { dg-final { note-test o {std::optional [no contained value]} } } optional ob{false}; -// { dg-final { note-test ob {std::optional = {[contained value] = false}} } } +// { dg-final { note-test ob {std::optional = {[contained value] = false}} } } optional oi{5}; -// { dg-final { note-test oi {std::optional = {[contained value] = 5}} } } +// { dg-final { note-test oi {std::optional = {[contained value] = 5}} } } optional op{nullptr}; -// { dg-final { note-test op {std::optional = {[contained value] = 0x0}} } } +// { dg-final { note-test op {std::optional = {[contained value] = 0x0}} } } __builtin_puts(""); return 0; // Mark SPOT diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc index 3962a5e9b7e..eb8dc957a43 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc @@ -50,18 +50,18 @@ main() // { dg-final { note-test str "\"string\"" } } optional o; -// { dg-final { note-test o {std::optional [no contained value]} } } +// { dg-final { note-test o {std::optional [no contained value]} } } optional ob{false}; -// { dg-final { note-test ob {std::optional = {[contained value] = false}} } } +// { dg-final { note-test ob {std::optional = {[contained value] = false}} } } optional oi{5}; -// { dg-final { note-test oi {std::optional = {[contained value] = 5}} } } +// { dg-final { note-test oi {std::optional = {[contained value] = 5}} } } optional op{nullptr}; -// { dg-final { note-test op {std::optional = {[contained value] = 0x0}} } } +// { dg-final { note-test op {std::optional = {[contained value] = 0x0}} } } optional> om; om = std::map{ {1, 2.}, {3, 4.}, {5, 6.} }; -// { dg-final { regexp-test om {std::optional> containing std::(__debug::)?map with 3 elements = {\[1\] = 2, \[3\] = 4, \[5\] = 6}} } } +// { dg-final { regexp-test om {std::optional containing std::(__debug::)?map with 3 elements = {\[1\] = 2, \[3\] = 4, \[5\] = 6}} } } optional os{ "stringy" }; -// { dg-final { note-test os {std::optional = {[contained value] = "stringy"}} } } +// { dg-final { note-test os {std::optional = {[contained value] = "stringy"}} } } any a; // { dg-final { note-test a {std::any [no contained value]} } } @@ -83,18 +83,18 @@ main() struct S { operator int() { throw 42; }}; variant v0; -// { dg-final { note-test v0 {std::variant [index 0] = {0}} } } +// { dg-final { note-test v0 {std::variant [index 0] = {0}} } } variant v1{ 0.5f }; -// { dg-final { note-test v1 {std::variant [index 0] = {0.5}} } } +// { dg-final { note-test v1 {std::variant [index 0] = {0.5}} } } variant v2; try { v2.emplace<1>(S()); } catch (int) { } -// { dg-final { note-test v2 {std::variant [no contained value]} } } +// { dg-final { note-test v2 {std::variant [no contained value]} } } variant v3{ 3 }; -// { dg-final { note-test v3 {std::variant [index 1] = {3}} } } +// { dg-final { note-test v3 {std::variant [index 1] = {3}} } } variant v4{ str }; -// { dg-final { note-test v4 {std::variant [index 2] = {"string"}} } } +// { dg-final { note-test v4 {std::variant [index 2] = {"string"}} } } map m{ {1, "one"} }; map::node_type n0; diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc index 29e8bc8f194..8f70f3fd151 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc @@ -42,18 +42,18 @@ main() // { dg-final { note-test str "\"string\"" } } optional o; -// { dg-final { note-test o {std::experimental::optional [no contained value]} } } +// { dg-final { note-test o {std::experimental::optional [no contained value]} } } optional ob{false}; -// { dg-final { note-test ob {std::experimental::optional = {[contained value] = false}} } } +// { dg-final { note-test ob {std::experimental::optional = {[contained value] = false}} } } optional oi{5}; -// { dg-final { note-test oi {std::experimental::optional = {[contained value] = 5}} } } +// { dg-final { note-test oi {std::experimental::optional = {[contained value] = 5}} } } optional op{nullptr}; -// { dg-final { note-test op {std::experimental::optional = {[contained value] = 0x0}} } } +// { dg-final { note-test op {std::experimental::optional = {[contained value] = 0x0}} } } optional> om; om = std::map{ {1, 2.}, {3, 4.}, {5, 6.} }; -// { dg-final { regexp-test om {std::experimental::optional> containing std::(__debug::)?map with 3 elements = {\[1\] = 2, \[3\] = 4, \[5\] = 6}} } } +// { dg-final { regexp-test om {std::experimental::optional containing std::(__debug::)?map with 3 elements = {\[1\] = 2, \[3\] = 4, \[5\] = 6}} } } optional os{ "stringy" }; -// { dg-final { note-test os {std::experimental::optional = {[contained value] = "stringy"}} } } +// { dg-final { note-test os {std::experimental::optional = {[contained value] = "stringy"}} } } any a; // { dg-final { note-test a {std::experimental::any [no contained value]} } }