madf: (Default)
Тут шановний [livejournal.com profile] sharpc лякає людей синтаксисом C++, а мені згадались два баги компілятора (а точніше реалізації стандартної бібліотеки), на які ми на роботі наштовхнулись буквально минулого тижня.
Кому не страшно — зазирніть під кат )

Вирву із контексту: „... мир окончательно разделится на людей, которые успели выучить C++, пока он еще был простым, и на тех, кто никогда не осилит...“.
madf: (Default)
Результати зборки Stargazer різними компіляторами.
raw data )
результати таблично )
висновки )
В принципі, мені різні компілятори цікаві тільки з точки зору швидкості збирання і як статичні аналізатори коду. Так що більше компіляторів нових і різних!

PS: звісно, для warning'ів я збирав усе у debug-режимі, з -W -Wall -Wextra, але без -pedantic.
madf: (Default)
Буквально у четвер скаржився колезі на те що у Gentoo досі немає libpqxx-3.1 і бага з цього приводу висить відкрита ще з минулого року як сьогодні...
[U]   == dev-libs/libpqxx (3.0.2@12.04.11; (~)3.0.2 -> (~)3.1-r2+i): C++ client API for PostgreSQL. The standard front-end for writing C++ programs that use PostgreSQL.

Власне, бага: https://bugs.gentoo.org/show_bug.cgi?id=349327
Тепер можна буде перевірити як CLang дружить із Boost.Spirit і Boost.Asio :)
madf: (Default)
Stargazer успішно збирається CLang'ом.
Також він успішно збирається GCC з увімкненим Link Time Optimization і трансформацією GIMPLE за допомогою GRAPHITE.
$ clang --version
clang version 2.9 (tags/RELEASE_29/final)
Target: i386-pc-linux-gnu
Thread model: posix
$ gcc --version
gcc (Gentoo 4.5.2 p1.0, pie-0.4.5) 4.5.2
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Після зборки він успішно запускається (з CLang я навіть трошки перевіряв працездатність).
madf: (Default)
І знаєте що CLang думає про мене? Правильно, що я мудак!
В одному місці замість того щоб передати рядок формату і список аргументів (у кількості 1 шт.) я цей єдиний аргумент передаю як рядок формату. Раніше gcc хавав це без проблем. Потім почав викидувати warning і я це пофіксив... майже всюди. А тут, мабуть, проґавив.
А от шланг такого не стерпів і мені у лог почав сипати сміттям. Я спочатку навіть не просік у чому я провинився. Ну зараз уже все, пофіксив. Правда, шланг на мене продовжує лаятись - в інших місцях. Хороша штука!

LLVM & SSE2

Jun. 2nd, 2010 08:27 am
madf: (Default)
Знайшов причину вчорашніх падінь. Виявилось що LLVM тишком-нишком юзає SSE2, якого у моєму AMD Sempron 2500+ немає.
Пруф )
madf: (Default)
Stargazer збирається з LLVM (а точніше з CLang)!
Для цього прийшлось встановити gcc-4.3.4, бо clang++ не хтів бачити заголовочні файли від gcc-4.4.3. А так - більше ніяких танців з бубном :)
Час зборки з CLang складає 4:34, з GCC - 4:10. Збирав один раз, так що можливі й інші цифри.
Покищо не запускається, падає з Illegal instruction прямо на старті. Але, можливо, це залишилось "сміття" від зборок з gcc.

Зібрати інший свій проект, що активно використовує Boost не вийшло. Не дружить CLang з libpqxx :)

CLang

Apr. 17th, 2010 10:17 pm
madf: (Default)
ClangBSD is a branch of FreeBSD that aims at integrating clang (clang.llvm.org)
into FreeBSD, replacing GCC as a system compiler.

Recently, we've achieved the state when clang can compile all of FreeBSD world
on i386/amd64 platforms (including all the C++ apps we have and itself)
and a bootable kernel. Thus we feel that the time has come to ask the FreeBSD
community for wider testing on i386/amd64 (you sure can help with other
platforms too :)).

Ура!
Якщо чесно, я недолюблюю FreeBSD (не зважаючи на те що вона натхнула Деніела Робінса на систему портежів), але вони активно пилять clang на пару з Apple, Adobe й іншими "монстрами", зо що їм велике людське спасибі і низький уклін!
Адже це не діло що світ компіляторів у GNU обмежується GNU Compiler Collection і десятком спеціалізованих (GHC, etc.). Свобода - це свобода вибору! :)

Profile

madf: (Default)
madf

April 2017

S M T W T F S
      1
2345678
9101112131415
1617 1819202122
23242526272829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 23rd, 2017 08:35 pm
Powered by Dreamwidth Studios