diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2020-10-28 18:41:24 +0100 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2020-10-28 18:41:24 +0100 |
commit | bf6dad60c338a42a7fb85f7b2a5870c0fb2e20f8 (patch) | |
tree | e513781ef717465e7db0358e987a5a6cbef5665c /libcc1 | |
parent | 0c261d5b5c931d9e9214d06531bdc7e9e16aeaab (diff) | |
parent | 47d13acbda9a5d8eb57ff169ba74857cd54108e4 (diff) | |
download | gcc-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/ChangeLog | 28 | ||||
-rw-r--r-- | libcc1/libcp1plugin.cc | 23 |
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; } |