Fix gcc pragmas.
* src/truetype/ttinterp.c (TT_MulFix14_long_long, TT_DotFix14_long_long): Older gcc versions don't accept diagnostic pragmas within a function body.
This commit is contained in:
parent
9e6de36aee
commit
69e524d5fe
@ -1,3 +1,11 @@
|
||||
2013-08-05 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Fix gcc pragmas.
|
||||
|
||||
* src/truetype/ttinterp.c (TT_MulFix14_long_long,
|
||||
TT_DotFix14_long_long): Older gcc versions don't accept diagnostic
|
||||
pragmas within a function body.
|
||||
|
||||
2013-08-05 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Fix Savannah bug #39700.
|
||||
|
@ -1494,6 +1494,10 @@
|
||||
|
||||
#define TT_MulFix14 TT_MulFix14_long_long
|
||||
|
||||
/* Temporarily disable the warning that C90 doesn't support `long long'. */
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wlong-long"
|
||||
|
||||
/* This is declared `noinline' because inlining the function results */
|
||||
/* in slower code. The `pure' attribute indicates that the result */
|
||||
/* only depends on the parameters. */
|
||||
@ -1502,10 +1506,6 @@
|
||||
TT_MulFix14_long_long( FT_Int32 a,
|
||||
FT_Int b )
|
||||
{
|
||||
/* Temporarily disable the warning that C90 doesn't support */
|
||||
/* `long long'. */
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wlong-long"
|
||||
|
||||
long long ret = (long long)a * b;
|
||||
|
||||
@ -1518,9 +1518,9 @@
|
||||
ret += 0x2000 + tmp;
|
||||
|
||||
return (FT_Int32)( ret >> 14 );
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
#endif /* __GNUC__ && ( __i386__ || __x86_64__ ) */
|
||||
|
||||
@ -1571,6 +1571,9 @@
|
||||
|
||||
#define TT_DotFix14 TT_DotFix14_long_long
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wlong-long"
|
||||
|
||||
static __attribute__(( pure )) FT_Int32
|
||||
TT_DotFix14_long_long( FT_Int32 ax,
|
||||
FT_Int32 ay,
|
||||
@ -1579,8 +1582,6 @@
|
||||
{
|
||||
/* Temporarily disable the warning that C90 doesn't support */
|
||||
/* `long long'. */
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wlong-long"
|
||||
|
||||
long long temp1 = (long long)ax * bx;
|
||||
long long temp2 = (long long)ay * by;
|
||||
@ -1592,9 +1593,10 @@
|
||||
|
||||
return (FT_Int32)( temp1 >> 14 );
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
#endif /* __GNUC__ && (__arm__ || __i386__ || __x86_64__) */
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user