This diagnostic rule was added at users' request.
The analyzer has detected the situation where the 'volatile' qualifier was removed. Accessing an object, which was declared with the 'volatile' qualifier, through a pointer/reference to a non-'volatile' type leads to undefined behavior.
Example of the code for which the analyzer will issue a warning:
int foo(int &value)
{
while (value)
{
// do some stuff...
}
return 0;
}
int main()
{
volatile int value = 1;
return foo((int &) value);
}
Another example of the code for which the analyzer will issue a warning:
#include <utility>
int foo()
{
int x = 30;
volatile int y = 203;
using std::swap;
swap(x, const_cast<int &>(y)); // <=
return x;
}
Was this page helpful?
Your message has been sent. We will email you at
If you do not see the email in your inbox, please check if it is filtered to one of the following folders: