-2003-12-27 Giovanni Bajo <giovannibajo@gcc.gnu.org>\r
-\r
- Backport from mainline:\r
- 2003-12-16 Giovanni Bajo <giovannibajo@gcc.gnu.org>\r
-\r
- PR c++/2294\r
- * decl.c (push_overloaded_decl): always construct an OVERLOAD\r
- if the declaration comes from an using declaration.\r
+2003-12-28 Roger Sayle <roger@eyesopen.com>
+
+ PR c++/13070
+ * decl.c (duplicate_decls): When setting the type of an anticipated
+ declaration, merge the existing type attributes.
+
+2003-12-27 Giovanni Bajo <giovannibajo@gcc.gnu.org>
+
+ Backport from mainline:
+ 2003-12-16 Giovanni Bajo <giovannibajo@gcc.gnu.org>
+
+ PR c++/2294
+ * decl.c (push_overloaded_decl): always construct an OVERLOAD
+ if the declaration comes from an using declaration.
2003-12-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
/* Even if the types match, prefer the new declarations type
for anitipated built-ins, for exception lists, etc... */
else if (DECL_ANTICIPATED (olddecl))
- TREE_TYPE (olddecl) = TREE_TYPE (newdecl);
+ {
+ TYPE_ATTRIBUTES (TREE_TYPE (newdecl))
+ = (*targetm.merge_type_attributes) (TREE_TYPE (olddecl),
+ TREE_TYPE (newdecl));
+ TREE_TYPE (olddecl) = TREE_TYPE (newdecl);
+ }
/* Whether or not the builtin can throw exceptions has no
bearing on this declarator. */
+2003-12-28 Roger Sayle <roger@eyesopen.com>
+
+ PR c++/13070
+ * g++.dg/warn/format3.C: New test case.
+
2003-12-27 Giovanni Bajo <giovannibajo@gcc.gnu.org>
Backport from mainline: