summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gallium/include/pipe/p_compiler.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h
index a4b772bc4f..01d1807b1c 100644
--- a/src/gallium/include/pipe/p_compiler.h
+++ b/src/gallium/include/pipe/p_compiler.h
@@ -103,6 +103,17 @@ typedef unsigned int uintptr_t;
#endif
+/* This should match linux gcc cdecl semantics everywhere, so that we
+ * just codegen one calling convention on all platforms.
+ */
+#ifdef WIN32
+#define PIPE_CDECL __cdecl
+#else
+#define PIPE_CDECL
+#endif
+
+
+
#if defined __GNUC__
#define ALIGN16_DECL(TYPE, NAME, SIZE) TYPE NAME##___aligned[SIZE] __attribute__(( aligned( 16 ) ))
#define ALIGN16_ASSIGN(NAME) NAME##___aligned
@@ -115,12 +126,16 @@ typedef unsigned int uintptr_t;
-/** For calling code-gen'd functions */
+/**
+ * For calling code-gen'd functions, phase out in favor of
+ * PIPE_CDECL, above, which really means cdecl on all platforms, not
+ * like the below...
+ */
#if !defined(XSTDCALL)
#if defined(WIN32)
-#define XSTDCALL __stdcall
+#define XSTDCALL __stdcall /* phase this out */
#else
-#define XSTDCALL
+#define XSTDCALL /* XXX: NOTE! not STDCALL! */
#endif
#endif