[sisyphus] Странности при переходе объединении двух целых в вещественное на x86_64
Alexey Rusakov
ktirf на altlinux.org
Пт Авг 7 13:17:57 MSD 2009
В Птн, 07/08/2009 в 12:02 +0300, Roman Savochenko пишет:
> Kirill A. Shutemov wrote:
> > 2009/8/7 Roman Savochenko <rom_as на diyaorg.dp.ua>:
> >
> >> Kirill A. Shutemov wrote:
> >>
> >>>>> И во всех трёх вариантах нарушили strict aliasing. Используйте union.
> >>>>>
> >>>> ним работает, но это не решение, поскольку приведенные мною обороты
> >>>> распространены и я не уверен что подобных проблем нет в других частях
> >>>> моей,
> >>>> в общем-то не маленькой, программы.
> >>>>
> >>>>
> >>> Есть повод исправить код.
> >>>
> >>>
> >> Я не считаю его ошибочным.
> >>
> > Strict aliasing rule -- часть стандарта C99. Если вы хотите писать
> > быстрый переносимый
> > код, то вам стоит следовать этому правилу.
> >
> Ничего про стандартность тут
> http://en.wikipedia.org/wiki/Aliasing_(computing) не увидил. А про то
> что существуют конфликты с оптимизаторами там есть.
Смотрите внимательнее:
"...the ISO standard for the C programming language (including its newer
C99 edition) specifies that it is illegal (with some exceptions) for
pointers of different types to reference the same memory location."
--
Alexey "Ktirf" Rusakov
GNOME Project
ALT Linux Team
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 197 байтов
Описание: Эта часть сообщения подписана цифровой подписью
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20090807/44737332/attachment.bin>
Подробная информация о списке рассылки Sisyphus