From 3d560a10be0b481284ec0b58af766589d5f0140f Mon Sep 17 00:00:00 2001 From: Alfredo Monclus Date: Sun, 9 Dec 2018 04:08:07 -0300 Subject: [PATCH] Fix stb_vorbis on msys2 and mingw (#146) --- src/libs/stb_vorbis/stb_vorbis.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/libs/stb_vorbis/stb_vorbis.c b/src/libs/stb_vorbis/stb_vorbis.c index cdb2225..46a4c12 100644 --- a/src/libs/stb_vorbis/stb_vorbis.c +++ b/src/libs/stb_vorbis/stb_vorbis.c @@ -581,7 +581,9 @@ enum STBVorbisError #undef __forceinline #endif #define __forceinline - #define alloca __builtin_alloca + #ifndef alloca + #define alloca __builtin_alloca + #endif #elif !defined(_MSC_VER) #if __GNUC__ #define __forceinline inline @@ -1236,8 +1238,13 @@ static void compute_twiddle_factors(int n, float *A, float *B, float *C) { int n4 = n >> 2, n8 = n >> 3; int k, k2; +#ifdef __MINGW64__ + double sA, cA, sB, cB, sC, cC; + double xA, yA, xB, yB, xC, yC; +#else float sA, cA, sB, cB, sC, cC; float xA, yA, xB, yB, xC, yC; +#endif sincos(4*M_PI/n, &sA, &cA); sincos(M_PI/n/2, &sB, &cB); @@ -1277,7 +1284,12 @@ static void compute_twiddle_factors(int n, float *A, float *B, float *C) static void compute_window(int n, float *window) { int n2 = n >> 1, i; +#ifdef __MINGW64__ + double s, c, x, y; +#else float s, c, x, y; +#endif + sincos(0.5f / n2 * 0.5f * M_PI, &s, &c); x = c; y = s;