Eric Eide wrote:
Below is an example hand-coded program that triggers a warning like the one
above from Clang 3.2. This example is based on the example in Question 11.10
of the C FAQ.
-----
void foo()
{
volatile int i = 0;
int *p;
volatile int **q = &p; /* warning */
*q = &i;
*p = 1; /* undefined */
}
----
It's undefined because a non-volatile pointer "p" points to a volatile object "i".
- Yang