aboutsummaryrefslogtreecommitdiff
path: root/libcc1
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2020-10-28 18:41:24 +0100
committerThomas Koenig <tkoenig@gcc.gnu.org>2020-10-28 18:41:24 +0100
commitbf6dad60c338a42a7fb85f7b2a5870c0fb2e20f8 (patch)
treee513781ef717465e7db0358e987a5a6cbef5665c /libcc1
parent0c261d5b5c931d9e9214d06531bdc7e9e16aeaab (diff)
parent47d13acbda9a5d8eb57ff169ba74857cd54108e4 (diff)
downloadgcc-bf6dad60c338a42a7fb85f7b2a5870c0fb2e20f8.zip
gcc-bf6dad60c338a42a7fb85f7b2a5870c0fb2e20f8.tar.gz
gcc-bf6dad60c338a42a7fb85f7b2a5870c0fb2e20f8.tar.bz2
Merge branch 'master' into devel/coarray_native.
Merge into devel/coarray_native to prepare for later merging of coarray_native with master.
Diffstat (limited to 'libcc1')
-rw-r--r--libcc1/ChangeLog28
-rw-r--r--libcc1/libcp1plugin.cc23
2 files changed, 39 insertions, 12 deletions
diff --git a/libcc1/ChangeLog b/libcc1/ChangeLog
index 381a823..804941e 100644
--- a/libcc1/ChangeLog
+++ b/libcc1/ChangeLog
@@ -1,3 +1,31 @@
+2020-10-14 Nathan Sidwell <nathan@acm.org>
+
+ * libcp1plugin.cc (plugin_add_friend): Set DECL_UNIQUE_FRIEND_P.
+
+2020-10-07 Nathan Sidwell <nathan@acm.org>
+
+ * libcp1plugin.cc (supplement_binding): Rename
+ DECL_BUILTIN_P.
+
+2020-10-02 Nathan Sidwell <nathan@acm.org>
+
+ * libcp1plugin.cc (libcp1plugin.cc): Drop DECL_ANTICIPATED test.
+
+2020-09-25 Nathan Sidwell <nathan@acm.org>
+
+ * libcp1plugin.cc (supplement_binding): Use DECL_BULTIN_P.
+
+2020-09-24 Nathan Sidwell <nathan@acm.org>
+
+ * libcp1plugin.cc (supplement_binding): Drop default args to
+ duplicate_decls.
+ (safe_pushtag): Drop scope parm. Drop default args to pushtag.
+ (safe_pushdecl_maybe_friend): Rename to ...
+ (safe_pushdecl): ... here. Drop is_friend parm. Drop default args
+ to pushdecl.
+ (plugin_build_decl): Adjust safe_pushdecl & safe_pushtag calls.
+ (plugin_build_constant): Adjust safe_pushdecl call.
+
2020-09-10 Nathan Sidwell <nathan@acm.org>
* libcp1plugin.cc (plugin_build_call_expr): Use DECL_LOCAL_DECL_P.
diff --git a/libcc1/libcp1plugin.cc b/libcc1/libcp1plugin.cc
index c8b3011..d758df8 100644
--- a/libcc1/libcp1plugin.cc
+++ b/libcc1/libcp1plugin.cc
@@ -353,8 +353,7 @@ supplement_binding (cxx_binding *binding, tree decl)
/* If TARGET_BVAL is anticipated but has not yet been
declared, pretend it is not there at all. */
|| (TREE_CODE (target_bval) == FUNCTION_DECL
- && DECL_ANTICIPATED (target_bval)
- && !DECL_HIDDEN_FRIEND_P (target_bval)))
+ && DECL_UNDECLARED_BUILTIN_P (target_bval)))
binding->value = decl;
else if (TREE_CODE (target_bval) == TYPE_DECL
&& DECL_ARTIFICIAL (target_bval)
@@ -407,7 +406,7 @@ supplement_binding (cxx_binding *binding, tree decl)
&& DECL_EXTERNAL (target_decl) && DECL_EXTERNAL (target_bval)
&& !DECL_CLASS_SCOPE_P (target_decl))
{
- duplicate_decls (decl, binding->value, /*newdecl_is_friend=*/false);
+ duplicate_decls (decl, binding->value);
ok = false;
}
else if (TREE_CODE (decl) == NAMESPACE_DECL
@@ -785,14 +784,14 @@ safe_push_template_decl (tree decl)
}
static inline tree
-safe_pushtag (tree name, tree type, tag_scope scope)
+safe_pushtag (tree name, tree type)
{
void (*save_oracle) (enum cp_oracle_request, tree identifier);
save_oracle = cp_binding_oracle;
cp_binding_oracle = NULL;
- tree ret = pushtag (name, type, scope);
+ tree ret = pushtag (name, type);
cp_binding_oracle = save_oracle;
@@ -800,14 +799,14 @@ safe_pushtag (tree name, tree type, tag_scope scope)
}
static inline tree
-safe_pushdecl_maybe_friend (tree decl, bool is_friend)
+safe_pushdecl (tree decl)
{
void (*save_oracle) (enum cp_oracle_request, tree identifier);
save_oracle = cp_binding_oracle;
cp_binding_oracle = NULL;
- tree ret = pushdecl (decl, is_friend);
+ tree ret = pushdecl (decl);
cp_binding_oracle = save_oracle;
@@ -1514,7 +1513,7 @@ plugin_build_decl (cc1_plugin::connection *self,
if (template_decl_p)
{
if (RECORD_OR_UNION_CODE_P (code))
- safe_pushtag (identifier, TREE_TYPE (decl), ts_current);
+ safe_pushtag (identifier, TREE_TYPE (decl));
else
decl = safe_push_template_decl (decl);
@@ -1533,11 +1532,11 @@ plugin_build_decl (cc1_plugin::connection *self,
finish_member_declaration (tdecl);
}
else if (RECORD_OR_UNION_CODE_P (code))
- safe_pushtag (identifier, TREE_TYPE (decl), ts_current);
+ safe_pushtag (identifier, TREE_TYPE (decl));
else if (class_member_p)
finish_member_declaration (decl);
else
- decl = safe_pushdecl_maybe_friend (decl, false);
+ decl = safe_pushdecl (decl);
if ((ctor || dtor)
/* Don't crash after a duplicate declaration of a cdtor. */
@@ -1650,7 +1649,7 @@ plugin_add_friend (cc1_plugin::connection * /* self */,
make_friend_class (type, TREE_TYPE (decl), true);
else
{
- DECL_FRIEND_P (decl) = true;
+ DECL_UNIQUE_FRIEND_P (decl) = true;
add_friend (type, decl, true);
}
@@ -3608,7 +3607,7 @@ plugin_build_constant (cc1_plugin::connection *self, gcc_type type_in,
TREE_STATIC (decl) = 1;
TREE_READONLY (decl) = 1;
cp_finish_decl (decl, cst, true, NULL, LOOKUP_ONLYCONVERTING);
- safe_pushdecl_maybe_friend (decl, false);
+ safe_pushdecl (decl);
return 1;
}