diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-05-15 16:03:56 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-05-15 16:03:56 +0000 |
commit | c6e04fcae681df5373fb5630458bca35fd94dd89 (patch) | |
tree | de8826a8ed6f3eb667225fe3f17a498d31361127 /gcc/cp/tree.c | |
parent | cae1d5ed994f408df39390edfe861de0203450fe (diff) |
2018-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* cp-tree.h (DECL_MAYBE_IN_CHARGE_CDTOR_P): New.
(FOR_EACH_CLONE): Update.
* decl.c (grokdeclarator): Use it.
* decl2.c (vague_linkage_p): Likewise.
* mangle.c (mangle_decl): Likewise.
* method.c (lazily_declare_fn): Likewise.
* optimize.c (can_alias_cdtor, maybe_clone_body): Likewise.
* repo.c (repo_emit_p): Likewise.
* tree.c (decl_linkage): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260264 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r-- | gcc/cp/tree.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 463a06d83707..ecb88df23b91 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -5012,8 +5012,7 @@ decl_linkage (tree decl) /* maybe_thunk_body clears TREE_PUBLIC on the maybe-in-charge 'tor variants, check one of the "clones" for the real linkage. */ - if ((DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (decl) - || DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (decl)) + if (DECL_MAYBE_IN_CHARGE_CDTOR_P (decl) && DECL_CHAIN (decl) && DECL_CLONED_FUNCTION_P (DECL_CHAIN (decl))) return decl_linkage (DECL_CHAIN (decl)); |