В генте собираются размаскать gcc 4.7. Можно начинать юзать delegating ctors в личкрафтах.
*gcc
Есть класс с мембером Items_. Пишу лямбду в одной из его функций:
auto tryAddUrl = [&visibleTags, this] (const QString& title, const QUrl& url) → void
{
const auto pos = std::find_if (Items_.begin (), Items_.end (), [&title] (decltype (Items_.at (0)) item) { return item.Title_ == title; });
...
};
получаю ... more →
:) как не ненавидят gcc, что он им плохого сделал ?
А вот что:
Открытое ПО свячески пытаются лишить основы, простого легковесного компилятора с языка Си, только вот вряд ли это получится сделать. Также не особо-то нужны go, с++11, с#.
Для системных целей gcc есть поддержка Си. С ней gcc лучше любых, к тому же едва ... more →
The front part of the back end uses these to help decide RTL generation, so although GCC's RTL is nominally processor-independent, the initial sequence of abstract instructions is already adapted to the target. At any moment, the actual RTL instructions forming the program representation have to comply with the ... more →
Хорошо же вас припекает снизу, фанаты выкормыша Apple, LLVM. Который вечно «всех порвет вот вот уже почти порвал, еще месяц-два-год-три-года», ведь у него такие фичи!!1!!!1!!!!.
Но сейчас мы заняты, покажем вам преимущества после обеда! Только домой доберусь, а то код на домашнем диске!! Если на забуду... И дождя ... more →
gcc начал стабильно валиться в сегфолт от некоторых файлов в проекте с 50%-ой вероятностью.
inb4 проверь память — так память норм.
А gcc уже умеет инлайнить вызовы виртуальных функций в final-классах? Ну или хотя бы избавляться от vtbl.
А еще, похоже, мне пора начать обмазываться даташитами на процессоры и все такое.
По крайней мере, похоже, для вещи типа
char ch = ...
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
something = true;
gcc генерит жутко неоптимальный код из кучи cmp/jz, которые сбивают нахер бранч предиктор.
В результате ... more →
Применяют ли современные компиляторы copy elision для функции типа
foo (T t)
{
vec [somePos] = t;
}
?
Имеет ли смысл здесь писать const T& вместо T, иными словами?
Благодаря #tioego прикрутил деманглинг неизвестных имен в неуспешно загруженной библиотеке, что одна из самых распространенных ошибок при погромировании под личкрафты:
[08.01.2013 05:10:13.279] [0x1d1eaf0] [008] Could not load library /usr/local/lib64/leechcraft/plugins/libleechcraft_gmailnotifier.so; Cannot load ... more →
В комментах багет штульманофагов → http://www.opennet.ru/openforum/vsluhfor...
Охуеть, только заметил, что даже в достаточно сложных конструкциях gcc ругается, если write в переменную есть, а read'а из нее потом нет. До чего статический анализ дошел, а.
Правда, уже if (false) { smth } обламывает все эвристики.
Собрал программу с -fopenmp -D_GLIBCXX_PARALLEL в надежде, что оно мне всякие std::sort и std::lower_bound распараллелит. А хуй там был, время выполнения сурового числодробительного кода выросла в 30-50 раз.
Охуительно, оказывается, reinterpet_cast<T> (t), где t типа T, не работает. Очень удобно, чтобы писать обобщенный шаблонный код.
Поэтому вместо простого reinterpet_cast<unsigned long> (QThread::currentThreadId ()) нужно писать хелпер-класс http://codepad.org/KrmfnVeo , с которым потом писать очень читаемые вещи ... more →
Натолкнулся на багу в оптимизаторе gcc. Параметр-указатель в вызывающей функции указывает куда надо, а в вызываемой на говно какое-то.
Наконец-то gcc 4.6 в ~arch в генте, и в ~amd64 тоже. Можно запиливать range-based for в л-крафты.
gcc умудрился сгенерить operator= для класса, в котором все члены const. Интересно, как он это сделал?
gcc 4.7 — говно. Есть функция, состоящая из одного свитча по енам классу, в котором перечислены все возможные case'ы для значений енамкласса, и для каждого кейса указан return. Так вот, gcc 4.7 все равно ругается, что control reaches end of non-void function.
Собрал все личкрафты gcc 4.6 с -flto, линковал также и с -fwhole-program. Время компиляции существенно возросло — с 15:50 на P8700 до 22:37.
Размер бинарей в среднем уменьшился на 10-15%. Какие-то бинарники растолстели на 2-3%, какие-то — похудели на дохрена (с 3700 килобайт до 2900, например), но суммарный объем ... more →
/home/d34df00d/Programming/leechcraft/src/plugins/lmp/localcollection.cpp:66:32: sorry, unimplemented: cannot expand ‘Rest ...’ into a fixed-length argument list
Написал ведь простейший вариадик.
Друзья, мой друг участвует в конкурсе, ему нужен ваш голос → https://bugs.gentoo.org/show_bug.cgi?id=...
Static analyzer в gcc соснул, впрочем. Цланг няша и нашел пару действительно опасных мест в коде. В частности, с виртуальными деструкторами в одном месте лажа была. Стыд-позор мне^W gcc!
Впрочем, класс с explicit-конструктором одного аргумента и не-explicit от двух, но задефолченных, он init list'ом от двух ... more →
Решил снова поебаться с C++11-кодом под шлангом.
The implicitly-declared copy constructor for shared_ptr is deleted because shared_ptr has a move constructor or a move assignment operator (or both), per C++11 12.8p7:
If the class definition does not explicitly declare a copy constructor, one is declared ... more →
Охуеть, гцц под арм сносит башню от строки типа
QList<IAccount*> GetAccounts (std::function<bool (IProtocol*)> = [] (IProtocol*) { return true; }) const;
в объявлении класса, и он падает с внутренней ошибкой.
*gcc is used by:
analizer
analizer
0xd34df00d
0xd34df00d
Hirthwork McGillah
hirthwork
профессиональный говноед
ulidtko
lexszero
lexszero
няша
generatorglukoff
beardog
beardog
SirAnthony
SirAnthony
Mагог Магогович
magog
gelraen
gelraen
Michael Pogoda
MPogoda
asmer
asmer
13oz
13oz
mva
mva
16+
238328
4DA
4da
analizer
0xd34df00d
hirthwork
ulidtko
lexszero
generatorglukoff
beardog
SirAnthony
magog
gelraen
MPogoda
asmer
13oz
mva
238328
4da