Pull to refresh
215
0
gribozavr @gribozavr

Пользователь

Send message
Вы кучу вещей, не относящихся к HPC, записали в эту категорию. Ну какое HTTP в HPC?! Откуда там SQL?! Какие веб-приложения?!

А где параллельные и кластерные файловые системы? А где обсуждение интерконнекта?

Вредная статья, в общем.
Сразу хочу заметить, что всё, что касается C++11 переводить сложно, так как устоявшихся русскоязычных терминов нет (их и на английском недавно придумали!)
Хотелось бы увидеть перевод следующего издания Programming: Principles and Practice Using C++ (которое будет основано на C++11).

Перевод этой книги www.artima.com/shop/overview_of_the_new_cpp тоже интересен.
C-style cast сильнее чем reinterpret_cast, поэтому я и говорю что ограничение бессмысленное.
Шаблоны запрещены — прощай стандартная библиотека? C++-style casts запрещены, так пусть у нас везде будет reinterpret_cast? Плохо когда ограничения не имеют смысла.

А когда вы пишете на Си то вы заставляете разработчиков называть все переменные только идентификаторами с чётным числом символов? Откуда это необоснованное желание писать на каком-то вымышленном подмножестве языка?
> Строка (4) демонстрирует, что вторая часть утверждения о единице инкапсуляции обходится проще, чем первая

Эта строка демонстрирует undefined behavior, а не то что вы написали.
Если бы вы действительно были заинтересованы в улучшении ситуации, вы бы взяли и написали патч. А рассказывать как там всё плохо где-либо кроме списка рассылки разработчиков — д'Артаньянство. Кроме того, ваша «реализация» с нуля да ещё и неопубликованная — типичный синдром NIH. Если бы вы хоть немного ценили своё время, вы опять таки бы написали патч, а не писали с нуля, и кроме того — опубликовали бы сразу.
> Стандартная реализация красно-черных деревьев в STL кривая (GNU, HP, Microsoft и смотрел много других, правильной не встречал, может правда уже и есть).

Все !@#$^%, один я д’Артаньян. Я сомневаюсь что сотни не самых глупых инженеров так и не смогли написать хоть одно нормальное RB дерево.
Вы забыли -std=c++11

$ clang -std=c++11 /tmp/zzz.cc
/tmp/zzz.cc:3:14: error: constructor for 'A' creates a delegation cycle [-Wdelegating-ctor-cycles]
A(int _a=5): A{_a} {};
^
1 error generated.
> Там дёргается cxxabi.h

Эмм, разве? Только для проверки, и то по умолчанию отключено:

lib/AST/ItaniumMangle.cpp:
#define MANGLE_CHECKER 0

#if MANGLE_CHECKER
#include <cxxabi.h>
#endif
Clang'у не нужен c++filt для манглинга, он вообще никому кроме пользователей для чтения дампов не нужен.

Для линковки — да, нужен подходящий ld. Но это для линковки. А для компиляции — нет.
MSVC ABI немного умеет, но поддержка очнеь неполная. Стандартную библиотеку C++ от MS использовать, IIRC, нельзя.

Исключения на Windows — не знаю, зайдите в IRC спросите.

Кросс-компилировать — да. Clang — это принципиально кросс-компилятор, ему вообще всё равно какой у вас хост. Просто дефолтный таргет драйвером выставляется в хост, если есть соответствующий бекенд.
> Open source software — это узкая протоптанная тропинка в дремучем лесу.

Я не понимаю при чём тут опенсорсность. Была бы это программа с закрытыми исходными кодами — что было бы по-другому? (Подсказываю: были бы бинарники под поддерживаемые платформы и всё, точка.)

Насчёт релиза — это просто чуть более протестированная версия, чем trunk. Но фиксов после заморозки в релиз обычно входит очень мало — очень мало заинтересованных. Все заинтересованные сидят на SVN версии. Поэтому могу посоветовать тоже брать версию из SVN.

И ещё нет самого важного — прогона тестов. Без прогона тестов можно собрать всё что угодно, но не компилятор. make check-all.

> Проверяем версию gcc — для llvm 3.2 подойдет gcc не новее 4.6.2 (с 4.7.2 у меня он сам себя не смог собрать, но и слишком старый тоже нельзя).

Это какая-то Windows-специфичная проблема (?). Зарепортите баг? Под Debian gcc 4.7.2 собирает нормально.
Вы внимательно почитайте, напротив чего стоит No в clang.llvm.org/cxx_status.html По-моему этого вообще нигде нет.

Про STL — во-первых, не STL, а стандартная библиотека, а во-вторых, в Linux вы получите по умолчанию одинаковую стандартную библиотеку и в gcc, и в Clang (GNU libstdc++), а на Mac OS X получите libc++, в которой всё есть.
Да ладно, testing/sid в самый раз.
Вы так говорите, как будто собрать clang сложно. Да даже ядро собрать сложнее — там настроек много.
C++11 в Clang 3.2 и gcc 4.7 доделан так, что вам нужно быть в комитете по стандартизации C++, чтобы заметить разницу.

Про статическую линковку — не знаю о такой проблеме. Во-первых, сегодня никто не линкует статически, а во-вторых, какая проблема возникает?

Information

Rating
Does not participate
Location
Украина
Registered
Activity