aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/error.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2019-05-31 13:25:46 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2019-05-31 13:25:46 +0000
commitca3edeaed691cf971ebdf7768f5d73b182c1aa07 (patch)
tree70d2c9af2fdf1addd53538a38013476747599eca /gcc/cp/error.c
parent929c046d575c273e80000310b88c24af94cc4cf8 (diff)
downloadgcc-ca3edeaed691cf971ebdf7768f5d73b182c1aa07.zip
gcc-ca3edeaed691cf971ebdf7768f5d73b182c1aa07.tar.gz
gcc-ca3edeaed691cf971ebdf7768f5d73b182c1aa07.tar.bz2
[C++PATCH] Lambda names are anonymous
https://gcc.gnu.org/ml/gcc-patches/2019-05/msg02126.html * cp-tree.h (IDENTIFIER_LAMBDA_P): New. (TYPE_ANON_P): New. (LAMBDA_TYPE_P, TYPE_UNNAMED_P): Likewise. (LAMBDANAME_PREFIX, LAMBDANAME_FORMAT): Delete. (make_lambda_name): Don't declare. * error.c (dump_aggr_type): Check for lambdas before other anonymous names. * lambda.c (begin_lambda_type): Use make_anon_name. * cp-lang.c (cxx_dwarf_name): Lambda names smell anonymous. * mangle.c (write_local_name): Likewise. * name-lookup.c (lambda_cnt, make_lambda_name): Delete. From-SVN: r271811
Diffstat (limited to 'gcc/cp/error.c')
-rw-r--r--gcc/cp/error.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 5e7c36d..d94f5a3 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -738,14 +738,7 @@ dump_aggr_type (cxx_pretty_printer *pp, tree t, int flags)
name = DECL_NAME (name);
}
- if (!name || IDENTIFIER_ANON_P (name))
- {
- if (flags & TFF_CLASS_KEY_OR_ENUM)
- pp_string (pp, M_("<unnamed>"));
- else
- pp_printf (pp, M_("<unnamed %s>"), variety);
- }
- else if (LAMBDA_TYPE_P (t))
+ if (LAMBDA_TYPE_P (t))
{
/* A lambda's "type" is essentially its signature. */
pp_string (pp, M_("<lambda"));
@@ -755,8 +748,16 @@ dump_aggr_type (cxx_pretty_printer *pp, tree t, int flags)
flags);
pp_greater (pp);
}
+ else if (!name || IDENTIFIER_ANON_P (name))
+ {
+ if (flags & TFF_CLASS_KEY_OR_ENUM)
+ pp_string (pp, M_("<unnamed>"));
+ else
+ pp_printf (pp, M_("<unnamed %s>"), variety);
+ }
else
pp_cxx_tree_identifier (pp, name);
+
if (tmplate)
dump_template_parms (pp, TYPE_TEMPLATE_INFO (t),
!CLASSTYPE_USE_TEMPLATE (t),