Suspicious optimize pragmas in rts/Hash.c
rts/Hash.c
currently contains:
/* This file needs to be compiled with vectorization enabled. Unfortunately
since we compile these things these days with cabal we can no longer
specify optimization per file. So we have to resort to pragmas. */
#if defined(__GNUC__) || defined(__GNUG__)
#if !defined(DEBUG)
#pragma GCC push_options
#pragma GCC optimize ("O3")
#endif
#endif
This is not ideal as clang
-based compilers don't support #pragma GCC
. Instead a warning will be issued. This presumably means that clang
builds aren't being as well-optimised as gcc
builds.