Description
These changes enable the same warnings in GCC and Clang by enabling all warnings on these compilers and then filter out the warnings that don't appear on both compilers and the warnings that aren't useful.
Closes #884 (closed)
How to test it?
It should compile without any error, the fix shouldn't induce any regression.