workaround for the guilty code that caused sig11 when compiled with gcc-3.0.x

(using the old C version - before the Big Indent patch :)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3924 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
pl 2001-12-31 17:22:41 +00:00
parent e3b43bd412
commit 2c0c208fa3
1 changed files with 13 additions and 0 deletions

View File

@ -3410,6 +3410,18 @@ static void expcos(void)
// of debuging fixing & testing - it's almost unimaginable - kabi // of debuging fixing & testing - it's almost unimaginable - kabi
// _ftol - operated on the float value which is already on the FPU stack // _ftol - operated on the float value which is already on the FPU stack
#ifdef MPLAYER
// Note: the asm version is buggy and causes mysterious sig11 with gcc-3.0
// flavors so we'd better stick to the old one for the moment (C version
// is found in release 1.39 of this file in MPlayer CVS) - pl
int
exp_ftol (float f)
{
return (int) (f + .5);
}
#else
#warning "exp_ftol may cause sig11"
static void exp_ftol(void) static void exp_ftol(void)
{ {
__asm__ __volatile__ __asm__ __volatile__
@ -3426,6 +3438,7 @@ static void exp_ftol(void)
"mov -12(%ebp), %eax \n\t" "mov -12(%ebp), %eax \n\t"
); );
} }
#endif
static double exppow(double x, double y) static double exppow(double x, double y)
{ {