diff options
author | David Mandelin <dmandelin@mozilla.com> | 2009-05-14 01:27:15 +0000 |
---|---|---|
committer | Taras Glek <tglek@gcc.gnu.org> | 2009-05-14 01:27:15 +0000 |
commit | bb36cc75427812229d4ba80d3724236d2127883f (patch) | |
tree | 28b8272eb18101c1041d79550a4a80f9bda0d88a /gcc | |
parent | 4ed7f970f4b999074e4971b5f84286b3c0fd3464 (diff) | |
download | gcc-bb36cc75427812229d4ba80d3724236d2127883f.zip gcc-bb36cc75427812229d4ba80d3724236d2127883f.tar.gz gcc-bb36cc75427812229d4ba80d3724236d2127883f.tar.bz2 |
decl.c (duplicate_decls): Preserve parameter attributes.
2009-05-13 David Mandelin <dmandelin@mozilla.com>:
gcc/
* decl.c (duplicate_decls): Preserve parameter attributes.
From-SVN: r147514
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/decl.c | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ea12e83..3ae9d55 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2009-05-13 David Mandelin <dmandelin@mozilla.com>: + + * decl.c (duplicate_decls): Preserve parameter attributes. + 2009-05-14 Dave Korn <dave.korn.cygwin@gmail.com> * config/i386/msformat-c.c (ms_printf_length_specs): Use enumeration diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index fd944f7..dab3e5c 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -1913,6 +1913,17 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend) { tree parm; + /* Merge parameter attributes. */ + tree oldarg, newarg; + for (oldarg = DECL_ARGUMENTS(olddecl), + newarg = DECL_ARGUMENTS(newdecl); + oldarg && newarg; + oldarg = TREE_CHAIN(oldarg), newarg = TREE_CHAIN(newarg)) { + DECL_ATTRIBUTES (newarg) + = (*targetm.merge_decl_attributes) (oldarg, newarg); + DECL_ATTRIBUTES (oldarg) = DECL_ATTRIBUTES (newarg); + } + if (DECL_TEMPLATE_INSTANTIATION (olddecl) && !DECL_TEMPLATE_INSTANTIATION (newdecl)) { |