[Intel-gfx] [RFC PATCH] sna: Fix build with gcc 5.0
Olivier Fourdan
ofourdan at redhat.com
Fri Apr 24 00:43:37 PDT 2015
gcc generates an error at build time because it fails to inline some
functions:
blt.c: In function 'affine_blt':
blt.c:980:1: error: inlining failed in call to always_inline
'bilinear_weight': optimization level attribute mismatch
bilinear_weight(pixman_fixed_t x)
blt.c:1164:7: error: called from here
fy = bilinear_weight(y1);
^
blt.c:980:1: error: inlining failed in call to always_inline
'bilinear_weight': optimization level attribute mismatch
bilinear_weight(pixman_fixed_t x)
blt.c:1163:7: error: called from here
fx = bilinear_weight(x1);
^
blt.c:989:1: error: inlining failed in call to always_inline
'bilinear_interpolation': optimization level attribute mismatch
bilinear_interpolation(uint32_t tl, uint32_t tr,
^
blt.c:1207:11: error: called from here
b[i] = bilinear_interpolation(tl, tr, bl, br, fx, fy);
^
Do not force inlining of these functions and let the compiler decide to
avoid the compilation failure.
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
---
Note: It could be a gcc bug, I am not sure, I don't know enough of
gcc internals to tell, that's why I post this patch as "RFC".
src/sna/blt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/sna/blt.c b/src/sna/blt.c
index a2472c1..687fb40 100644
--- a/src/sna/blt.c
+++ b/src/sna/blt.c
@@ -976,7 +976,7 @@ memcpy_xor(const void *src, void *dst, int bpp,
}
#define BILINEAR_INTERPOLATION_BITS 4
-static force_inline int
+static inline int
bilinear_weight(pixman_fixed_t x)
{
return (x >> (16 - BILINEAR_INTERPOLATION_BITS)) &
@@ -985,7 +985,7 @@ bilinear_weight(pixman_fixed_t x)
#if BILINEAR_INTERPOLATION_BITS <= 4
/* Inspired by Filter_32_opaque from Skia */
-static force_inline uint32_t
+static inline uint32_t
bilinear_interpolation(uint32_t tl, uint32_t tr,
uint32_t bl, uint32_t br,
int distx, int disty)
--
2.3.6
More information about the Intel-gfx
mailing list