aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorAndrew Pinski <andrew_pinski@playstation.sony.com>2009-11-06 19:10:07 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2009-11-06 11:10:07 -0800
commit87e928642892922f18f1e652f41d8fc9169ae757 (patch)
treeb288755ba9280ce0ec7b701f671fe7611718d52a /gcc/cp
parent2e3135726b941c5d1cd87d1905678a7533ed7d4d (diff)
downloadgcc-87e928642892922f18f1e652f41d8fc9169ae757.zip
gcc-87e928642892922f18f1e652f41d8fc9169ae757.tar.gz
gcc-87e928642892922f18f1e652f41d8fc9169ae757.tar.bz2
re PR c++/41536 (always_inline does not work always with constructors)
2009-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c++/41536 * optimize.c (maybe_clone_body): Copy DECL_ATTRIBUTES and DECL_DISREGARD_INLINE_LIMITS also. 2009-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c++/41536 * g++.dg/ext/always_inline-5.C: New test. From-SVN: r153974
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/optimize.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 21a2221..6d7fd34 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2009-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR c++/41536
+ * optimize.c (maybe_clone_body): Copy DECL_ATTRIBUTES and
+ DECL_DISREGARD_INLINE_LIMITS also.
+
2009-11-06 Jakub Jelinek <jakub@redhat.com>
PR c++/41967
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index 58d5b90..662bd4a 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -199,6 +199,8 @@ maybe_clone_body (tree fn)
DECL_VISIBILITY (clone) = DECL_VISIBILITY (fn);
DECL_VISIBILITY_SPECIFIED (clone) = DECL_VISIBILITY_SPECIFIED (fn);
DECL_DLLIMPORT_P (clone) = DECL_DLLIMPORT_P (fn);
+ DECL_ATTRIBUTES (clone) = copy_list (DECL_ATTRIBUTES (fn));
+ DECL_DISREGARD_INLINE_LIMITS (clone) = DECL_DISREGARD_INLINE_LIMITS (fn);
/* Adjust the parameter names and locations. */
parm = DECL_ARGUMENTS (fn);