(ALLOCA_FLAGS, ALLOCA_FINISH, AS): Deleted.

(INSTALL): Deleted.
(duplicate_decls): If newdecl for builtin function
has same return mode as the builtin, keep the builtin
but use newdecl's return type.

From-SVN: r1366
This commit is contained in:
Richard Stallman 1992-07-01 02:20:59 +00:00
parent 7212eb4442
commit 4c41bbfa76

View File

@ -1204,6 +1204,19 @@ duplicate_decls (newdecl, olddecl)
return 0;
}
else if (!types_match)
{
/* Accept the return type of the new declaration if same modes. */
tree oldreturntype = TREE_TYPE (TREE_TYPE (olddecl));
tree newreturntype = TREE_TYPE (TREE_TYPE (newdecl));
if (TYPE_MODE (oldreturntype) == TYPE_MODE (newreturntype))
{
TREE_TYPE (TREE_TYPE (olddecl)) = newreturntype;
types_match = comptypes (TREE_TYPE (newdecl), TREE_TYPE (olddecl));
if (!types_match)
TREE_TYPE (TREE_TYPE (olddecl)) = oldreturntype;
}
}
if (!types_match)
{
/* If types don't match for a built-in, throw away the built-in. */
warning_with_decl (newdecl, "conflicting types for built-in function `%s'");