Hi Oleg, On Mon, Oct 17, 2011 at 06:29:58PM +0200, Oleg Goldshmidt wrote: ... > Now, put the above line in a C or C++ file, say foo.cc, and do the > following: > > $ g++ -g -O2 foo.cc -c -o foo.o > $ ident foo.o > foo.o: > $Id: foo.cc 673 2011-10-17 09:48:11Z oleg $ > > This works up to and including gcc 4.4, but it does not work with gcc > 4.5.1 or gcc 4.6.1 (the ident part does not show any keywords). The > reason seems to be that the optimizer realizes that the static const > is not used and eliminates it (remove -O2 and ident works fine).
The -O2, as well as -O and -Os, gcc options enable a set of specific optimizations that can each be turned off. The full list is at http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Optimize-Options.html. Just go over this list and disable each optimization, until you find the one removing your static string. baruch -- ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - bar...@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il - _______________________________________________ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il