Bug 1601859 - Vendor cubeb-pulse-rs. r=kinetik
[gecko.git] / gfx / cairo / pixman-xp-dll-workaround
blobe5d1fcbf8248ae1c9c62ea12e52c65e198ad48d5
1 diff --git a/gfx/cairo/libpixman/src/pixman-compiler.h b/gfx/cairo/libpixman/src/pixman-compiler.h
2 --- a/gfx/cairo/libpixman/src/pixman-compiler.h
3 +++ b/gfx/cairo/libpixman/src/pixman-compiler.h
4 @@ -114,20 +114,22 @@
5  
6  #elif defined(TLS)
7  
8  #   define PIXMAN_DEFINE_THREAD_LOCAL(type, name)                      \
9      static TLS type name
10  #   define PIXMAN_GET_THREAD_LOCAL(name)                               \
11      (&name)
13 -#elif defined(__MINGW32__)
14 +#elif defined(__MINGW32__) || defined(PIXMAN_USE_XP_DLL_TLS_WORKAROUND)
16  #   define _NO_W32_PSEUDO_MODIFIERS
17  #   include <windows.h>
18 +#undef IN
19 +#undef OUT
21  #   define PIXMAN_DEFINE_THREAD_LOCAL(type, name)                      \
22      static volatile int tls_ ## name ## _initialized = 0;              \
23      static void *tls_ ## name ## _mutex = NULL;                                \
24      static unsigned tls_ ## name ## _index;                            \
25                                                                         \
26      static type *                                                      \
27      tls_ ## name ## _alloc (void)                                      \