title: Is it GCC error?
body: <p>When compiling my project mixing <code>C</code> and <code>C++</code> heavily I get this error (this when compiling C++ file):</p>
  
  <pre><code>/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++locale.h:
  In function ‘int std::__convert_from_v(__locale_struct* const&amp;, char*, int, const char*, ...)’:
  /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++locale.h:70:3:
  sorry, unimplemented:
  function ‘int std::__convert_from_v(__locale_struct* const&amp;, char*, int, const char*, ...)’
  can never be inlined because it uses variable argument lists
  </code></pre>
  
  <p>And compilation ends.</p>
  
  <p>But when I <strong>manually</strong> edit file
  <code>/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++locale.h</code>
  and delete the <code>inline</code> modifier before <code>__convert_from_v</code> it <strong>WORKS</strong>.</p>
  
  <p>The function header causing problems is with <code>inline</code> originally:</p>
  
  <pre><code>inline int
  __convert_from_v(const __c_locale&amp; __cloc __attribute__ ((__unused__)),
                     char* __out,
                     const int __size __attribute__ ((__unused__)),
                     const char* __fmt, ...)
  </code></pre>
  
  <p>I guess function like that SHOULD NOT be marked as <code>inline</code>. Is it bug or am I doing something wrong??? [gcc 4.6.1, Ubuntu 11.10]</p>