clang has a -Weverything flag that, unlike &quot;-Wall&quot;, will enable <i>all</i> compiler warnings. This includes possibly contradictory warnings. :) For new C code, -Weverything is a good place to start.<p>Unlike gcc, clang does not have good documentation for its warning options. The best sources I&#x27;ve found are the clang code itself (<a href="https:&#x2F;&#x2F;github.com&#x2F;llvm-mirror&#x2F;clang&#x2F;blob&#x2F;master&#x2F;include&#x2F;clang&#x2F;Basic&#x2F;DiagnosticGroups.td" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;llvm-mirror&#x2F;clang&#x2F;blob&#x2F;master&#x2F;include&#x2F;cla...</a>) and <a href="http:&#x2F;&#x2F;fuckingclangwarnings.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;fuckingclangwarnings.com&#x2F;</a>.