i386.c (i386_valid_type_attribute_p): Return nonzero for mismatched "stdcall" and "cdecl" attributes.

* i386.c (i386_valid_type_attribute_p): Return nonzero for mismatched
        "stdcall" and "cdecl" attributes.

From-SVN: r23436
This commit is contained in:
Marcus Meissner 1998-10-29 21:37:24 +00:00 committed by Jeff Law
parent 1a7a342d99
commit afcfe58c38
2 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,8 @@
Thu Oct 29 22:30:54 1998 Marcus Meissner <Marcus.Meissner@informatik.uni-erlangen.de>
* i386.c (i386_valid_type_attribute_p): Return nonzero for mismatched
"stdcall" and "cdecl" attributes.
Thu Oct 29 19:05:17 1998 Jim Wilson <wilson@cygnus.com>
* sched.c (update_flow_info): Add code to ! found_orig_dest case to

View File

@ -622,9 +622,19 @@ i386_valid_type_attribute_p (type, attributes, identifier, args)
int
i386_comp_type_attributes (type1, type2)
tree type1 ATTRIBUTE_UNUSED;
tree type2 ATTRIBUTE_UNUSED;
tree type1;
tree type2;
{
/* Check for mismatch of non-default calling convention. */
char *rtdstr = TARGET_RTD ? "cdecl" : "stdcall";
if (TREE_CODE (type1) != FUNCTION_TYPE)
return 1;
/* Check for mismatched return types (cdecl vs stdcall). */
if (lookup_attribute (rtdstr, TYPE_ATTRIBUTES (type1))
!= lookup_attribute (rtdstr, TYPE_ATTRIBUTES (type2)))
return 0;
return 1;
}