<br><br><div class="gmail_quote">2009/8/7 Kirill A. Shutemov <span dir="ltr">&lt;<a href="mailto:kirill@shutemov.name">kirill@shutemov.name</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2009/8/7 Serge Ryabchun &lt;<a href="mailto:sr@osdn.org.ua">sr@osdn.org.ua</a>&gt;:<br>
<div class="im">&gt; Это не повод собирать не верный код:<br>
&gt;<br>
&gt; [sr@sr 6]$ gcc-4.3 -Wall -O2 f2.c<br>
&gt; f2.c: In function &#39;main&#39;:<br>
&gt; f2.c:10: warning: dereferencing type-punned pointer will break<br>
&gt; strict-aliasing rules<br>
&gt; [sr@sr 6]$ ./a.out<br>
&gt; TEST 00: 0.000000<br>
&gt; [sr@sr 6]$<br>
&gt; [sr@sr 6]$ gcc-4.4 -Wall -O2 f2.c<br>
&gt; f2.c: In function &#39;main&#39;:<br>
&gt; f2.c:10: warning: dereferencing type-punned pointer will break<br>
&gt; strict-aliasing rules<br>
&gt; [sr@sr 6]$ ./a.out<br>
&gt; TEST 00: 3.140000<br>
<br>
</div>Это ничего не значит. Точнее значит лишь то, что работа оптимизатора<br>
различается между версиями компилятора.<br>
<br>
То, что криво написаный код иногда работает -- не аргумент. Если вы<br>
желаете отказаться от подбного рода оптимизиций -- используйте<br>
-fno-strict-aliasing.<br>
<div><div></div><br></div></blockquote></div><br>Я вот сижу и думаю (нет, это не по поводу этого кода), если даже с полностью выключенной оптимизацией компилятор (gcc 4.4) создает код, отказывающийся работать, тогда как скомпилированный gcc 4.3 работает - стоит разбираться с кодом или это в любом случае регрессия компилятора?<br>
<br>Кому-то интересно будет посмотреть?<br><br><br>