Using GCC and C99 mode, I have a function declared as:
void func(float *X);
When I call the function, I use a volatile array Y:
volatile float Y[2];
int main()
{
func(Y);
return 0;
}
When compiling (with -Wall
), I get the following warning:
warning: passing argument 1 of ‘func’ discards qualifiers from pointer target type
blah.c:4: note: expected ‘float *’ but argument is of type ‘volatile float *’
I can eliminate it with an explicit (float *)
type cast, but this repeats in many places in the code.
Is there a way to eliminate this specific warning, with an option or a pragma (or something equivalent)?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…