[DISABLE, INFORMATION , WARNING, ERROR]
The Compiler has detected that the condition in an 'if' and a nested 'if' expression have the inverse condition. If the first condition is true, the second one is always false. If the first one is FALSE, the second one is TRUE, so the compiler replaces the second condition with 'FALSE' if the condition does not have any side effects. There is always a couple of this message, one for the first 'if' condition and one for nested 'if' condition. This message may be generated during tree optimizations (Option -Ont to switch it off).
if (condition) { // message C5916 here ...
if(!condition) { // here, condition replaced with 0
...
}
Check your code why both conditions are the same. Maybe different macros are used in both parts which evaluates to the same values.