aboutsummaryrefslogtreecommitdiff
path: root/gcc/objcp
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2020-09-25 10:24:09 -0700
committerNathan Sidwell <nathan@acm.org>2020-09-25 10:28:19 -0700
commit00aaae03db249e61dde41facbf373c3fcde38154 (patch)
treea3ac3986e692c4fd88467b1a50a8947d0da4243b /gcc/objcp
parent0d8f3f612d662ea3007c184a11ea5eb7d58760e7 (diff)
downloadgcc-00aaae03db249e61dde41facbf373c3fcde38154.zip
gcc-00aaae03db249e61dde41facbf373c3fcde38154.tar.gz
gcc-00aaae03db249e61dde41facbf373c3fcde38154.tar.bz2
c++: Replace tag_scope with TAG_how
I always found tag_scope confusing, as it is not a scope, but a direction of how to lookup or insert an elaborated type tag. This replaces it with a enum class TAG_how. I also add a new value, HIDDEN_FRIEND, to distinguish the two cases of innermost-non-class insertion that we currently conflate. Also renamed 'lookup_type_scope' to 'lookup_elaborated_type', because again, we're not providing a scope to lookup in. gcc/cp/ * name-lookup.h (enum tag_scope): Replace with ... (enum class TAG_how): ... this. Add HIDDEN_FRIEND value. (lookup_type_scope): Replace with ... (lookup_elaborated_type): ... this. (pushtag): Use TAG_how, not tag_scope. * cp-tree.h (xref_tag): Parameter is TAG_how, not tag_scope. * decl.c (lookup_and_check_tag): Likewise. Adjust. (xref_tag_1, xref_tag): Likewise. adjust. (start_enum): Adjust lookup_and_check_tag call. * name-lookup.c (lookup_type_scope_1): Rename to ... (lookup_elaborated_type_1) ... here. Use TAG_how, not tag_scope. (lookup_type_scope): Rename to ... (lookup_elaborated_type): ... here. Use TAG_how, not tag_scope. (do_pushtag): Use TAG_how, not tag_scope. Adjust. (pushtag): Likewise. * parser.c (cp_parser_elaborated_type_specifier): Adjust. (cp_parser_class_head): Likewise. gcc/objcp/ * objcp-decl.c (objcp_start_struct): Use TAG_how not tag_scope. (objcp_xref_tag): Likewise.
Diffstat (limited to 'gcc/objcp')
-rw-r--r--gcc/objcp/objcp-decl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/objcp/objcp-decl.c b/gcc/objcp/objcp-decl.c
index 087b5d5..c6c4ee5 100644
--- a/gcc/objcp/objcp-decl.c
+++ b/gcc/objcp/objcp-decl.c
@@ -41,7 +41,7 @@ objcp_start_struct (location_t loc ATTRIBUTE_UNUSED,
if (!name)
name = make_anon_name ();
- s = xref_tag (record_type, name, ts_global);
+ s = xref_tag (record_type, name, TAG_how::GLOBAL);
CLASSTYPE_DECLARED_CLASS (s) = 0; /* this is a 'struct', not a 'class'. */
xref_basetypes (s, NULL_TREE); /* no base classes here! */
@@ -84,7 +84,7 @@ objcp_finish_function (void)
tree
objcp_xref_tag (enum tree_code code ATTRIBUTE_UNUSED, tree name)
{
- return xref_tag (record_type, name, ts_global);
+ return xref_tag (record_type, name, TAG_how::GLOBAL);
}
int