title: mingw -fvisibility=hidden does not seem to work
body: <p>I have a shared library which is supposed to export only one function which is marked with <code>__attribute__ ((visibility ("default")))</code>. It also links with another static library (fftw), and</p>
  
  <pre><code>#include&lt;fftw3.h&gt;
  </code></pre>
  
  <p>is preceded with:</p>
  
  <pre><code>#pragma GCC visibility push(hidden)
  </code></pre>
  
  <p>The linker command used:</p>
  
  <pre><code>g++.exe -fvisibility=hidden -shared -o mylib.dll -Wl,--out-implib,mylib.dll.a -Wl,--no-whole-archive libfftw3.a libfftw3_omp.a -lgomp 
  </code></pre>
  
  <p>Now the resulting library is huge and if I check the exported functions it includes ALL fftw functions, and ALL function from my files. It looks like mingw ignores visibility options. I read that previously it gave warning about <code>-fvisibility</code>, but now it compiles with no warnings whatsoever. </p>
  
  <p>Does mingw and gcc 4.6.1 support visibility flags? If yes, how do I get rid of all unnecessary stuff in my shared library?</p>