mva
23.03.2013 07:19
Это очень толстый троллинг, так что не ведитесь.
Тем не менее, имеем a.c с пустым main циклом без каких-либо инклудов и т.п.
note ~ % gcc a.c
note ~ % wc -c a.out
7875 a.out
note ~ % gcc -flto a.c
note ~ % wc -c a.out
7890 a.out
Оптимищация, БЛЕЯТЬ!!!11
generatorglukoff
13.03.2013 22:48
стоит ли забить на совместимость с gcc 4.5.x и перейти на 4.7.x (на 4.6.x точно не получится, бага в цомпиляторе)?
generatorglukoff
13.03.2013 21:54
gcc 4.5.2: 500кб
gcc 4.5.4: 450кб
gcc 4.7.2: 350кб
gcc 4.7.2 + lto: 170кб
0xd34df00d
25.02.2013 07:23
В генте собираются размаскать gcc 4.7. Можно начинать юзать delegating ctors в личкрафтах.
generatorglukoff
22.02.2013 21:31
словил сегфолт в гцц при использовании вариадиков
и это 4.6.2 :(
// щаз обновлюсь до 4.6.3 на всякий случай
0xd34df00d
03.02.2013 21:08
Есть класс с мембером 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 →
0xd34df00d
30.01.2013 12:59
:) как не ненавидят gcc, что он им плохого сделал ?
А вот что:
Открытое ПО свячески пытаются лишить основы, простого легковесного компилятора с языка Си, только вот вряд ли это получится сделать. Также не особо-то нужны go, с++11, с#.
Для системных целей gcc есть поддержка Си. С ней gcc лучше любых, к тому же едва ... more →
0xd34df00d
30.01.2013 01:59
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 →
0xd34df00d
29.01.2013 00:30
Хорошо же вас припекает снизу, фанаты выкормыша Apple, LLVM. Который вечно «всех порвет вот вот уже почти порвал, еще месяц-два-год-три-года», ведь у него такие фичи!!1!!!1!!!!.
Но сейчас мы заняты, покажем вам преимущества после обеда! Только домой доберусь, а то код на домашнем диске!! Если на забуду... И дождя ... more →
0xd34df00d
20.01.2013 19:08
gcc начал стабильно валиться в сегфолт от некоторых файлов в проекте с 50%-ой вероятностью.
inb4 проверь память — так память норм.
0xd34df00d
17.01.2013 22:24
А gcc уже умеет инлайнить вызовы виртуальных функций в final-классах? Ну или хотя бы избавляться от vtbl.
0xd34df00d
17.01.2013 13:43
А еще, похоже, мне пора начать обмазываться даташитами на процессоры и все такое.
По крайней мере, похоже, для вещи типа
char ch = ...
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
something = true;
gcc генерит жутко неоптимальный код из кучи cmp/jz, которые сбивают нахер бранч предиктор.
В результате ... more →
0xd34df00d
11.01.2013 15:44
Применяют ли современные компиляторы copy elision для функции типа
foo (T t)
{
vec [somePos] = t;
}
?
Имеет ли смысл здесь писать const T& вместо T, иными словами?
0xd34df00d
08.01.2013 01:14
Благодаря #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 →
0xd34df00d
20.12.2012 22:54
Охуеть, только заметил, что даже в достаточно сложных конструкциях gcc ругается, если write в переменную есть, а read'а из нее потом нет. До чего статический анализ дошел, а.
Правда, уже if (false) { smth } обламывает все эвристики.
magog
14.12.2012 11:34
FreeBSD-шники пишут в квартальном отчёте 2012Q1, что в базовую систему 10-й версии теперь встроен clang вместо gcc в качестве основного компилятора, а также используется новая C++ рантайм-библиотека (libcxxrt) под лицензией BSD, любезно представленная компанией ... more →
lexszero
16.11.2012 00:15
Какой-нибудь из вышеперечисленных цомпилеров умеет bit banding кортексов?
lexszero
30.10.2012 09:34
Вот есть у меня, допустим, такой символ:
080003cc g F .text 00000002 handler_default
Еще есть таблица прерываний — секция объектника .interrupt_vector, которая соответственно пихается потом линкером куда надо.
Я беры этот символ и пихаю его в таблицу прерываний, пофиг как — хоть сишным массивом с аттрибутом ... more →