title: How to eliminate the "discard qualifier" warning?
body: <p>Using GCC and C99 mode, I have a function declared as:</p>
  
  <pre><code>void func(float *X);
  </code></pre>
  
  <p>When I call the function, I use a volatile array Y:</p>
  
  <pre><code>volatile float Y[2];
  int main()
  {
      func(Y);
      return 0;
  }
  </code></pre>
  
  <p>When compiling (with <code>-Wall</code>), I get the following warning:</p>
  
  <pre><code>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 *’
  </code></pre>
  
  <p>I can eliminate it with an explicit <code>(float *)</code> type cast, but this repeats in many places in the code.</p>
  
  <p>Is there a way to eliminate this specific warning, with an option or a pragma (or something equivalent)?</p>