<p>For example, how to avoid writing the 'func_name' twice?</p>

<pre><code>#ifndef TEST_FUN
#  define TEST_FUN func_name
#  define TEST_FUN_NAME "func_name"
#endif
</code></pre>

<p>I'd like to follow the <a href="http://en.wikipedia.org/wiki/Single_Point_of_Truth" rel="noreferrer">Single Point of Truth</a> rule.</p>

<p>Version of C preprocessor:</p>

<pre><code>$ cpp --version
cpp (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14)
</code></pre>

```
#define TEST_FUN_NAME #FUNC_NAME
```
see
here