Examples of errors detected by the V578 diagnostic.

V578. An odd bitwise operation detected. Consider verifying it.


V578 An odd bitwise operation detected: m_flags & (0x00000002 | 0x00000002). Consider verifying it. nms_objects.h 1410

#define CF_AUTO_UNBIND 0x00000002

bool isAutoUnbindEnabled()
  return ((m_flags & (CF_AUTO_UNBIND | CF_AUTO_UNBIND)) ==
          (CF_AUTO_UNBIND | CF_AUTO_UNBIND)) ? true : false;


V578 An odd bitwise operation detected. Consider verifying it. pwm.c 415

uint32_t PWM_GetADCTriggerFlag (PWM_T *pwm,
                                uint32_t u32ChannelNum)
  uint32_t u32Ret;

  u32Ret = pwm->TRGADCSTS >> u32ChannelNum;

  return (u32Ret & (PWM_TRIGGER_ADC_PERIOD_POINT |
                    PWM_TRIGGER_ADC_CENTER_POINT |
                    PWM_TRIGGER_ADC_FALLING_EDGE_POINT |   // <=
                    PWM_TRIGGER_ADC_FALLING_EDGE_POINT));  // <=

Do you make errors in the code?

Check your code
with PVS-Studio

Static code analysis
for C, C++, and C#

goto PVS-Studio;
We use cookies for the analysis of events to improve our content and make user interaction more convenient. By continuing the view of our web-pages you accept the terms of using these files. You can find out more about cookie-files and privacy policy or close the notification, by clicking on the button. Learn More →
Do not show