[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