aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2020-10-01 16:40:17 -0400
committerMarek Polacek <polacek@redhat.com>2020-10-02 18:48:39 -0400
commit47f09ec9717058ada97be33bcbb23ceb6322ba61 (patch)
tree91727c1a8ae3ab332c0aa0011744be8bf1e8a1f5 /gcc/cp
parent324118378e4e26d9c0f86734af26538491c5c5fc (diff)
downloadgcc-47f09ec9717058ada97be33bcbb23ceb6322ba61.zip
gcc-47f09ec9717058ada97be33bcbb23ceb6322ba61.tar.gz
gcc-47f09ec9717058ada97be33bcbb23ceb6322ba61.tar.bz2
c++: Fix printing of C++20 template parameter object [PR97014]
No one is interested in the mangled name of the C++20 template parameter object for a class NTTP. So instead of printing required for the satisfaction of ‘positive<T::ratio>’ [with T = X<::_ZTAXtl5ratioLin1ELi2EEE>] let's print required for the satisfaction of ‘positive<T::ratio>’ [with T = X<{-1, 2}>] I don't think adding a test is necessary for this. gcc/cp/ChangeLog: PR c++/97014 * cxx-pretty-print.c (pp_cxx_template_argument_list): If the argument is template_parm_object_p, print its DECL_INITIAL.
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/cxx-pretty-print.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cp/cxx-pretty-print.c b/gcc/cp/cxx-pretty-print.c
index d10c18d..8bea79b 100644
--- a/gcc/cp/cxx-pretty-print.c
+++ b/gcc/cp/cxx-pretty-print.c
@@ -1910,6 +1910,8 @@ pp_cxx_template_argument_list (cxx_pretty_printer *pp, tree t)
if (TYPE_P (arg) || (TREE_CODE (arg) == TEMPLATE_DECL
&& TYPE_P (DECL_TEMPLATE_RESULT (arg))))
pp->type_id (arg);
+ else if (template_parm_object_p (arg))
+ pp->expression (DECL_INITIAL (arg));
else
pp->expression (arg);
}