You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-emulation/wine-any/files/pr66838.c

37 lines
771 B

/* From gcc svn, /branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr66838.c */
/* Copyrighted and distributed under the same terms as gcc */
void abort (void);
char global;
__attribute__((sysv_abi, noinline, noclone))
void sysv_abi_func(char const *desc, void *local)
{
register int esi asm ("esi");
register int edi asm ("edi");
if (local != &global)
abort ();
/* Clobber some of the extra SYSV ABI registers. */
asm volatile ("movl\t%2, %0\n\tmovl\t%2, %1"
: "=r" (esi), "=r" (edi)
: "i" (0xdeadbeef));
}
__attribute__((ms_abi, noinline, noclone))
void ms_abi_func ()
{
sysv_abi_func ("1st call", &global);
sysv_abi_func ("2nd call", &global);
sysv_abi_func ("3rd call", &global);
}
int
main(void)
{
ms_abi_func();
return 0;
}