]> Repos - portaudio/commitdiff
Fix GUID defines in pa_win_wdmks.c when compiling with clang-cl (#327)
authorNemirtingas <9432037+Nemirtingas@users.noreply.github.com>
Tue, 8 Dec 2020 06:28:56 +0000 (07:28 +0100)
committerGitHub <noreply@github.com>
Tue, 8 Dec 2020 06:28:56 +0000 (17:28 +1100)
Fix GUID defines in pa_win_wdmks.c when compiling with clang-cl

Co-authored-by: Nemirtingas <nanaki89@hotmail.fr>
src/hostapi/wdmks/pa_win_wdmks.c

index 15ba4388a6d312da1d77f2d80989b4d23aedfad5..add663b717db35c3efb3c4b7da704e26812fad28 100644 (file)
@@ -163,9 +163,15 @@ Default is to use the pin category.
 #define DYNAMIC_GUID(data) {data}
 #define _NTRTL_ /* Turn off default definition of DEFINE_GUIDEX */
 #undef DEFINE_GUID
-#define DEFINE_GUID(n,data) EXTERN_C const GUID n = {data}
-#define DEFINE_GUID_THUNK(n,data) DEFINE_GUID(n,data)
-#define DEFINE_GUIDEX(n) DEFINE_GUID_THUNK(n, STATIC_##n)
+#ifdef __clang__ /* clang-cl: avoid too many arguments error */
+  #define DEFINE_GUID(n, ...) EXTERN_C const GUID n = {__VA_ARGS__}
+  #define DEFINE_GUID_THUNK(n, ...) DEFINE_GUID(n, __VA_ARGS__)
+  #define DEFINE_GUIDEX(n) DEFINE_GUID_THUNK(n, STATIC_##n)
+#else
+  #define DEFINE_GUID(n, data) EXTERN_C const GUID n = {data}
+  #define DEFINE_GUID_THUNK(n, data) DEFINE_GUID(n, data)
+  #define DEFINE_GUIDEX(n) DEFINE_GUID_THUNK(n, STATIC_##n)
+#endif /* __clang__ */
 #endif
 
 #include <setupapi.h>