title: Usecases for GCC Warning Options -Wno-sign-compare, -Wno-type-limits and -Wno-logical-op
body: <p>I was deciding the compiler settings for my project that is built using MinGW. It appears that GCC has a really huge set of options for controlling the warnings. </p>
  
  <p>But what I did not understand is why an option is provided to disable some warnings that are critical and hardly cause any nuisance.</p>
  
  <p><strong>-Wno-sign-compare:</strong> Disables the warning that warns when a comparison between signed and unsigned values could produce an incorrect result when the signed value is converted to
  unsigned.  </p>
  
  <p><strong>-Wno-type-limits:</strong> Disables the warning that warns if a comparison is always true or always false due to the limited range of the data type, but does not warn for constant expressions</p>
  
  <p><strong>-Wno-logical-op:</strong> Disables the warning that warns suspicious uses of logical operators in expressions. This includes using logical operators in contexts where a bit-wise operator is likely to be expected</p>
  
  <p>For me these are really valid warnings and I cannot think of a usecase where they can be disabled. I would be glad if I could get some usecases where such warnings are not serious and fixing them making code changes is difficult. </p>