summaryrefslogtreecommitdiffstats
path: root/gfx/cairo/win32-inline-cpp-keyword.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/cairo/win32-inline-cpp-keyword.patch')
-rw-r--r--gfx/cairo/win32-inline-cpp-keyword.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/gfx/cairo/win32-inline-cpp-keyword.patch b/gfx/cairo/win32-inline-cpp-keyword.patch
new file mode 100644
index 000000000..4b6f542d7
--- /dev/null
+++ b/gfx/cairo/win32-inline-cpp-keyword.patch
@@ -0,0 +1,24 @@
+diff --git a/gfx/cairo/cairo/src/cairo-compiler-private.h b/gfx/cairo/cairo/src/cairo-compiler-private.h
+--- a/gfx/cairo/cairo/src/cairo-compiler-private.h
++++ b/gfx/cairo/cairo/src/cairo-compiler-private.h
+@@ -205,18 +205,20 @@
+ #if (defined(__WIN32__) && !defined(__WINE__)) || defined(_MSC_VER)
+ #define snprintf _snprintf
+ #define popen _popen
+ #define pclose _pclose
+ #define hypot _hypot
+ #endif
+
+ #ifdef _MSC_VER
++#ifndef __cplusplus
+ #undef inline
+ #define inline __inline
++#endif
+
+ /* there are currently linkage problems that arise when trying to include intrin.h in c++:
+ * D:\sdks\v7.0\include\winnt.h(3674) : error C2733: second C linkage of overloaded function '_interlockedbittestandset' not allowed
+ * so avoid defining ffs in c++ code for now */
+ #ifndef __cplusplus
+ /* Add a definition of ffs */
+ #include <intrin.h>
+ #pragma intrinsic(_BitScanForward)