RTS: GCC warning with "clear_cache" builtin
Summary
GCC issues many warnings when it compiles/links rts/stm/Storage.c. E.g.
rts/sm/Storage.c:1377:13: error:
warning: mismatch in argument 1 type of built-in function ‘__clear_cache’; expected ‘void *’ [-Wbuiltin-declaration-mismatch]
1377 | extern void __clear_cache(char * begin, char * end);
| ^~~~~~~~~~~~~
|
1377 | extern void __clear_cache(char * begin, char * end);
| ^
libgcc
has changed the prototype of __clear_cache from char *
to void *
(see this commit). But we don't even use this function since GCC 4.4.
Steps to reproduce
LANG=C ./hadrian/build.stack.sh -c -j binary-dist --docs=none --flavour=quick
Environment
- GHC: master
- GCC: 9.1
- OS: Linux x86_64