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:
parent
e3016344b3
commit
6cc37e7e24
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue