re PR c++/5998 (regression, all builtins disabled)

PR c++/5998:
	* decl.c (duplicate_decls):  Overwrite the RTL when (and only
	when) overwriting a built-in function.  Don't use COPY_DECL_RTL,
	but follow the SET_DECL_RTL idiom used elsewhere in the function.

From-SVN: r51690
This commit is contained in:
Roger Sayle 2002-04-01 16:32:59 +00:00 committed by Mark Mitchell
parent d5ecb9cb6c
commit 04a9d0805e
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2002-04-01 Roger Sayle <roger@eyesopen.com>
PR c++/5998:
* decl.c (duplicate_decls): Overwrite the RTL when (and only
when) overwriting a built-in function. Don't use COPY_DECL_RTL,
but follow the SET_DECL_RTL idiom used elsewhere in the function.
2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
* cp-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,

View File

@ -3202,6 +3202,9 @@ duplicate_decls (newdecl, olddecl)
else
/* Discard the old built-in function. */
return 0;
/* Replace the old RTL to avoid problems with inlining. */
SET_DECL_RTL (olddecl, DECL_RTL (newdecl));
}
if (DECL_THIS_STATIC (newdecl) && !DECL_THIS_STATIC (olddecl))
@ -3623,7 +3626,6 @@ duplicate_decls (newdecl, olddecl)
TREE_READONLY (olddecl) = TREE_READONLY (newdecl);
TREE_THIS_VOLATILE (olddecl) = TREE_THIS_VOLATILE (newdecl);
TREE_SIDE_EFFECTS (olddecl) = TREE_SIDE_EFFECTS (newdecl);
COPY_DECL_RTL (newdecl, olddecl);
}
/* Merge the storage class information. */