Compare commits
No commits in common. "e70cc9212b0d7f2d1e33c44c4569d1c45e19e7db" and "765cf330697c7937300e447bb744e7eb4d7cfb20" have entirely different histories.
e70cc9212b
...
765cf33069
1 changed files with 0 additions and 12 deletions
|
|
@ -203,19 +203,7 @@ typedef char __v64qi __attribute__((__vector_size__(64)));
|
||||||
/*
|
/*
|
||||||
* Setup rotation macros similar to MSVS intrinsics.
|
* Setup rotation macros similar to MSVS intrinsics.
|
||||||
* These should recognized by compilers.
|
* These should recognized by compilers.
|
||||||
*
|
|
||||||
* mingw's <stdlib.h> declares _rotl/_rotr/_rotl64/_rotr64 as functions, so
|
|
||||||
* a translation unit that pulls compiler_gcc.h in first (libdeflate's own
|
|
||||||
* utils.c does exactly that) and then includes <stdlib.h> would see the
|
|
||||||
* function declarations mangled by these macros. Force <stdlib.h> in here
|
|
||||||
* on mingw so the declarations get parsed before the macro names get
|
|
||||||
* shadowed; the header guard makes the later #include a no-op and call
|
|
||||||
* sites still resolve to the macros below.
|
|
||||||
*/
|
*/
|
||||||
#if defined(__MINGW32__) || defined(__MINGW64__)
|
|
||||||
# include <stdlib.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _rotr16
|
#ifndef _rotr16
|
||||||
#define _rotr16(x,n) ((x>>n) + (x<<(16-n)))
|
#define _rotr16(x,n) ((x>>n) + (x<<(16-n)))
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue