diff options
author | Jonathan Mannancheril <sneakyfish5.sneaky@gmail.com> | 2019-11-09 22:31:00 -0600 |
---|---|---|
committer | Jonathan Mannancheril <sneakyfish5.sneaky@gmail.com> | 2019-11-09 23:20:49 -0600 |
commit | 55afd6e784d8dea6779f471d35a77e4d56bfaaca (patch) | |
tree | 46ffcce9b1bdeccd8fc05f16c2d4f39a0e4335d9 /thirdparty/zstd/common/compiler.h | |
parent | 94f00eb6c5323dff933a4985b60e8ebf9391f940 (diff) |
Update zstd to 1.4.4
Diffstat (limited to 'thirdparty/zstd/common/compiler.h')
-rw-r--r-- | thirdparty/zstd/common/compiler.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/thirdparty/zstd/common/compiler.h b/thirdparty/zstd/common/compiler.h index 6686b837d6..1877a0c1d9 100644 --- a/thirdparty/zstd/common/compiler.h +++ b/thirdparty/zstd/common/compiler.h @@ -61,6 +61,13 @@ # define HINT_INLINE static INLINE_KEYWORD FORCE_INLINE_ATTR #endif +/* UNUSED_ATTR tells the compiler it is okay if the function is unused. */ +#if defined(__GNUC__) +# define UNUSED_ATTR __attribute__((unused)) +#else +# define UNUSED_ATTR +#endif + /* force no inlining */ #ifdef _MSC_VER # define FORCE_NOINLINE static __declspec(noinline) @@ -127,9 +134,14 @@ } \ } -/* vectorization */ +/* vectorization + * older GCC (pre gcc-4.3 picked as the cutoff) uses a different syntax */ #if !defined(__clang__) && defined(__GNUC__) -# define DONT_VECTORIZE __attribute__((optimize("no-tree-vectorize"))) +# if (__GNUC__ == 4 && __GNUC_MINOR__ > 3) || (__GNUC__ >= 5) +# define DONT_VECTORIZE __attribute__((optimize("no-tree-vectorize"))) +# else +# define DONT_VECTORIZE _Pragma("GCC optimize(\"no-tree-vectorize\")") +# endif #else # define DONT_VECTORIZE #endif |