|
1 diff --git a/gfx/cairo/cairo/src/cairo-compiler-private.h b/gfx/cairo/cairo/src/cairo-compiler-private.h |
|
2 index ffac9ce..9a05831 100644 |
|
3 --- a/gfx/cairo/cairo/src/cairo-compiler-private.h |
|
4 +++ b/gfx/cairo/cairo/src/cairo-compiler-private.h |
|
5 @@ -229,16 +229,20 @@ ffs (int x) |
|
6 |
|
7 if (_BitScanForward(&i, x) != 0) |
|
8 return i + 1; |
|
9 |
|
10 return 0; |
|
11 } |
|
12 #endif |
|
13 |
|
14 +#elif defined(__WIN32__) && defined(__GNUC__) |
|
15 + |
|
16 +#define ffs(x) __builtin_ffs(x) |
|
17 + |
|
18 #endif |
|
19 |
|
20 #if defined(_MSC_VER) && defined(_M_IX86) |
|
21 /* When compiling with /Gy and /OPT:ICF identical functions will be folded in together. |
|
22 The CAIRO_ENSURE_UNIQUE macro ensures that a function is always unique and |
|
23 will never be folded into another one. Something like this might eventually |
|
24 be needed for GCC but it seems fine for now. */ |
|
25 #define CAIRO_ENSURE_UNIQUE \ |