<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Выпуск набора компиляторов GCC 7.2</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html</link>
    <description>Доступен (https://gcc.gnu.org/ml/gcc-announce/2017/msg00002.html) корректирующий релиз набора компиляторов GCC 7.2 (https://gcc.gnu.org/gcc-7/), в котором проведена работа по исправлению ошибок, регрессивных изменений и проблем с совместимостью. По сравнению с версией GCC 7.1 (https://www.opennet.ru/opennews/art.shtml?num=46487) в GCC 7.2 отмечено  95 исправлений (https://gcc.gnu.org/gcc-7/changes.html), в основном связанных с устранением регрессивных изменений. Напомним, что начиная с ветки GCC 5.x в проекте внедрена новая схема нумерации выпусков: версия x.0 используется в процессе разработки, корректирующие выпуски формируются с номерами x.2.0, x.3.0 и т.д. Новые возможности развиваются в экспериментальной ветке GCC 8.0, на базе которой будет сформирован следующий значительный релиз GCC 8.1. &lt;br&gt;&lt;br&gt;&lt;br&gt;URL: https://gcc.gnu.org/ml/gcc-announce/2017/msg00002.html&lt;br&gt;Новость: http://www.opennet.ru/opennews/art.shtml?num=47021&lt;br&gt;</description>

<item>
    <title>Выпуск набора компиляторов GCC 7.2 (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html#55</link>
    <pubDate>Wed, 16 Aug 2017 15:17:56 GMT</pubDate>
    <description>&amp;gt;&amp;gt; компилятор обязан рассматривать его как &lt;br&gt;&amp;gt;&amp;gt; runtime код).&lt;br&gt;&amp;gt; Я извиняюсь, допустил небольшой косяк в коде, описав константу внутри функции (сделав &lt;br&gt;&amp;gt; её инициализируемой в рантайме).&lt;br&gt;&amp;gt; Вот исправленный пример, где она не инициализирована в рантайме: &lt;br&gt;&amp;gt; https://godbolt.org/g/zxEwSn &lt;br&gt;&lt;br&gt;Это не меняет ровным счетом ничего.&lt;br&gt;&lt;br&gt;    template&amp;lt; int N &amp;gt;&lt;br&gt;    struct foo&lt;br&gt;    &#123;&lt;br&gt;        static const int value = N;&lt;br&gt;    &#125;;&lt;br&gt;&lt;br&gt;    enum &#123; constant = 10 &#125;;&lt;br&gt;&lt;br&gt;    int main()&lt;br&gt;    &#123;&lt;br&gt;        const int n = constant;&lt;br&gt;        return foo&amp;lt; n &amp;gt;::value;&lt;br&gt;    &#125;&lt;br&gt;&lt;br&gt;Это собирается и возвращает 10. Это демонстрирует, что n - это constant expression.&lt;br&gt;&lt;br&gt;&amp;gt; Компилятор clang превращает её в 0x04030201 , т.е. воспринимает как const-expr, а &lt;br&gt;&amp;gt; gcc кастит в рантайме.&lt;br&gt;&lt;br&gt;Нет, вы путаете constant expression со способностью компилятора к оптимизациям.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск набора компиляторов GCC 7.2 (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html#54</link>
    <pubDate>Wed, 16 Aug 2017 15:11:56 GMT</pubDate>
    <description>Из стандарта. &#091;class.union&#093;, &#091;basic.life&#093;.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск набора компиляторов GCC 7.2 (pripolz)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html#53</link>
    <pubDate>Wed, 16 Aug 2017 15:05:32 GMT</pubDate>
    <description>&amp;gt; Вы почитайте теперь, что, с точки зрения стандарта, есть const int&lt;br&gt;&lt;br&gt;Да, всё именно так, спасибо.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск набора компиляторов GCC 7.2 (УЖАС СОВКА)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html#52</link>
    <pubDate>Wed, 16 Aug 2017 09:57:41 GMT</pubDate>
    <description>А в чем проблема ?? Если N&amp;lt;0, он и не разименовывается.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск набора компиляторов GCC 7.2 (pripolz)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html#51</link>
    <pubDate>Wed, 16 Aug 2017 08:56:11 GMT</pubDate>
    <description>&amp;gt; компилятор обязан рассматривать его как &lt;br&gt;&amp;gt; runtime код).&lt;br&gt;&lt;br&gt;Я извиняюсь, допустил небольшой косяк в коде, описав константу внутри функции (сделав её инициализируемой в рантайме).&lt;br&gt;Вот исправленный пример, где она не инициализирована в рантайме:&lt;br&gt;&lt;br&gt;https://godbolt.org/g/zxEwSn&lt;br&gt;&lt;br&gt;Компилятор clang превращает её в 0x04030201 , т.е. воспринимает как const-expr, а gcc кастит в рантайме.&lt;br&gt;&lt;br&gt;&lt;br&gt;П.С. Создал баг на gcc. Закрыли с комментом &quot;it has to be a constant literal&quot;.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск набора компиляторов GCC 7.2 (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html#50</link>
    <pubDate>Wed, 16 Aug 2017 07:49:27 GMT</pubDate>
    <description>А одобренный D где?&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск набора компиляторов GCC 7.2 (pripolz)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html#49</link>
    <pubDate>Tue, 15 Aug 2017 19:26:10 GMT</pubDate>
    <description>&amp;gt; запись в один член union и чтение из другого - undefined behavior&lt;br&gt;&lt;br&gt;откуда такие глубокие познания в С++ ?&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск набора компиляторов GCC 7.2 (УЖАС СОВКА)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html#48</link>
    <pubDate>Tue, 15 Aug 2017 17:13:53 GMT</pubDate>
    <description>В общем, на сей случай есть набор ключей,который придется теперь писать везде &lt;br&gt;-fno-strict-aliasing&lt;br&gt;-fno-strict-overflow&lt;br&gt;-fwrapv&lt;br&gt;-fno-delete-null-pointer-checks&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск набора компиляторов GCC 7.2 (llolik)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/111986.html#47</link>
    <pubDate>Tue, 15 Aug 2017 17:06:38 GMT</pubDate>
    <description>&amp;gt; Впрочем, с другими компиляторами так тесно не общался, и могу предположить&lt;br&gt;&lt;br&gt;Есть такой линкер под оффтопик UniLink (ftp://ftp.styx.cabel.net/pub/UniLink/). Неплохой линковщик, который много чего умеет (линковать объектники от разных компиляторов, например, в том числе и gcc). Почитать его довольно большой history (там ещё и от ранних релизов архив лежит), в котором то и дело &quot;Добавлено &amp;lt;что-нибудь&amp;gt; для очередной ошибки &amp;lt;компилятора&amp;gt;&quot;, немного удивляешься, как оно вообще в принципе работает и сколько в этом всём костылей.&lt;br&gt;UniLink привожу потому, что он не привязан к &quot;особенностям&quot; конкретного компилятора, и поэтому автору приходится много работать, чтобы обойти все эти особенности.&lt;br&gt;</description>
</item>

</channel>
</rss>
