On Tue, 10 Feb 2015, Marek Polacek wrote:
> +<p>Several new warnings have been added to the C front end. One of the new
> +warnings is that GCC now warns about non-standard predefined macros with the
> +<code>-Wpedantic</code> option. For instance:</p>
> +
> +<pre><code>
> + void
> + foo (void)
> + {
> + const char *s = __FUNCTION__;
> + }
> +</code></pre>
> +
> +<pre>
> +<b>q.c:4:19:</b> <b style='color:magenta'>warning:</b> ISO C does not
> support <b>'__FUNCTION__'</b> predefined identifier [-Wpedantic]
> + const char *s = __FUNCTION__;
> + <b style='color:lime'>^</b>
> +</pre>
> +
> +<p>The fix is either to use the standard predefined macro
> <code>__func__</code>
> +(since C99), or to use the <code>__extension__</code> keyword:<p/>
__FUNCTION__ and __func__ aren't macros (essentially they're built-in
variables).
--
Joseph S. Myers
[email protected]