We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I have a simple code like this:
typedef enum { N1 = 1, N2 = 2 } EnumType; int main(void) { EnumType A = N1; if( A >= 0 ) return 1; return 0; }
Comparison with zero gives me warning "#186-D: pointless comparison of unsigned integer with zero".
I then go to project options and check "Enum container always int".
If this code was in *.cpp file - everything is fine, warning goes away (as it should). But if it's in *.c file - warning is still there!
Compiler key --cpp has the same effect.
This behaviour is very annoying, actually, because I have an entire library filled with such comparisons (and warnings).
Can anyone please tell me, how to remove this very annoying warning and is it a bug or not?
I'm using ARM Keil 4.72.
P.S. I know that I can just disable this warning with a compiler suppressing option (and that's evil by itself) or with pragma but that is not very good solution.