c++: Propagate attributes to clones in duplicate_decls [PR67453]
authorJakub Jelinek <jakub@redhat.com>
Fri, 6 Nov 2020 19:33:39 +0000 (20:33 +0100)
committerJakub Jelinek <jakub@redhat.com>
Fri, 6 Nov 2020 19:34:58 +0000 (20:34 +0100)
commit6c282c14d1be0bba2bf5d49acd074b349f28ad17
tree5c8590e41a86a244c3d5733147adc9572933f50e
parent556ab5125912fa2233986eb19d6cd995cf7de1d2
c++: Propagate attributes to clones in duplicate_decls [PR67453]

On the following testcase where the cdtor attributes aren't on the
in-class declaration but on an out-of-class definition, the cdtors
have their clones created from the in-class declaration, and later on
duplicate_decls updates attributes on the abstract cdtors, but nothing
propagates them to the clones.

2020-11-06  Jakub Jelinek  <jakub@redhat.com>

PR c++/67453
* decl.c (duplicate_decls): Propagate DECL_ATTRIBUTES and
DECL_PRESERVE_P from olddecl to its clones if any.

* g++.dg/ext/attr-used-2.C: New test.
gcc/cp/decl.c
gcc/testsuite/g++.dg/ext/attr-used-2.C [new file with mode: 0644]