<pre><a href="http://gcc.gnu.org/ml/gcc/2005-04/msg01429.html">http://gcc.gnu.org/ml/gcc/2005-04/msg01429.html</a><br><br><br> I do have three suggestions for you:
&gt; 
&gt; 1) The current way to tell the compiler not to throw away
&gt;    apparently-unused data is __attribute__((used)), like this:
&gt; 
&gt;       static const char __attribute__((used)) rcs_sccs_id[] =
&gt;       &quot;$Id: @(#)%M% %I% 20%E% %U% copyright 2005 %Q% string1\\ $&quot;;
<br><br></pre><br><br><div class="gmail_quote">On Mon, Oct 17, 2011 at 2:04 PM, Oleg Goldshmidt <span dir="ltr">&lt;<a href="mailto:pub@goldshmidt.org">pub@goldshmidt.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
&quot;Nadav Har&#39;El&quot; &lt;<a href="mailto:nyh@math.technion.ac.il">nyh@math.technion.ac.il</a>&gt; writes:<br>
<br>
</div><div class="im">&gt;       #if (__GNUC__ &gt;= 4) &amp;&amp; (__GNUC_MINOR__ &gt; 4)<br>
&gt;       #define USED(x) x __attribute__((used))<br>
&gt;       #else<br>
&gt;       #define USED(x) x<br>
&gt;       #endif<br>
&gt;       #define IDENT(x) static const char USED(foo_src_id[]) = x;<br>
&gt;<br>
&gt; and then in each file just do<br>
&gt; #include &quot;ident.h&quot;<br>
&gt; IDENT(&quot;$Id&quot;);<br>
<br>
</div>The proper contents of ident.h would actually be<br>
<br>
#ifndef _IDENT_H_<br>
#define _IDENT_H_<br>
<br>
#if defined(__GNUC__)<br>
<div class="im">#define USED(x) x __attribute__((used))<br>
#else<br>
#define USED(x) x<br>
#endif<br>
<br>
</div>#define IDENT(s,x) static const char USED(s[]) = x<br>
<br>
#endif<br>
<br>
- this is because one would want to use different identifiers in every<br>
file to avoid a) clashes when keywords are used in header files (very<br>
useful: which versions of the headers was this file compiled with?) and<br>
b) possible effects of -fmerge-constants and friends.<br>
<font color="#888888"><br>
--<br>
Oleg Goldshmidt | <a href="mailto:pub@goldshmidt.org">pub@goldshmidt.org</a><br>
</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
Linux-il mailing list<br>
<a href="mailto:Linux-il@cs.huji.ac.il">Linux-il@cs.huji.ac.il</a><br>
<a href="http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il" target="_blank">http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Your time is limited, so don&#39;t waste it living someone else&#39;s life. 
Don&#39;t be trapped by dogma -- which is living with the results of other 
people&#39;s thinking. Don&#39;t let the noise of others&#39; opinions drown out 
your own inner voice. And most important, have the courage to follow 
your heart and intuition. They somehow already know what you truly want 
to become. Everything else is secondary.<br>Steve Jobs<br><br>