re PR target/19704 (ICE for tail call of regparm 3 and dllimport)

PR target/19704
	* config/i386/i386.c (ix86_function_ok_for_sibcall):  Also check
	that dllimport'd functions do not use all call-clobbered registers
	to pass parameters.

From-SVN: r94467
This commit is contained in:
Danny Smith 2005-01-31 05:49:07 +00:00 committed by Danny Smith
parent e3016344b3
commit 6cc37e7e24
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2005-01-31 Danny Smith <dannysmith@users.sourceforge.net>
PR target/19704
* config/i386/i386.c (ix86_function_ok_for_sibcall): Also check
that dllimport'd functions do not use all call-clobbered registers
to pass parameters.
2005-01-30 Richard Henderson <rth@redhat.com>
PR 19696

View File

@ -1678,6 +1678,13 @@ ix86_function_ok_for_sibcall (tree decl, tree exp)
}
}
#if TARGET_DLLIMPORT_DECL_ATTRIBUTES
/* Dllimport'd functions are also called indirectly. */
if (decl && lookup_attribute ("dllimport", DECL_ATTRIBUTES (decl))
&& ix86_function_regparm (TREE_TYPE (decl), NULL) >= 3)
return false;
#endif
/* Otherwise okay. That also includes certain types of indirect calls. */
return true;
}