Есть ли практическая разница между версиями Clang 2.8 и 3.1 для разработчика на C? - PullRequest
5 голосов
/ 19 декабря 2011

Я буду работать исключительно в C. Ubunutu 10.10 извлечет версию 2.8 Clang из своих репозиториев и полностью установит ее. Я скомпилировал Clang v 3.1 из исходного кода и добавил его в путь (после удаления Clang 2.8), но у меня нет доступа к его man-страницам таким образом, и у меня иногда возникает неприятное ощущение, что я не полностью «установил его», хотя в некоторых тестах он кажется полностью функциональным.

Есть ли практическая разница между версиями 2.8 и 3.1 с точки зрения разработчика C (студента на самом деле)? Я работаю исключительно на C и не буду использовать возможности C ++ или объективные C. Я полагаю, что в последнее время большая часть разработок в Clang заключалась в расширении возможностей C ++.

1 Ответ

2 голосов
/ 20 декабря 2011

Заметная разница, которую я обнаружил, заключается в том, что для параметров функции 2.8 VLA создается дамп ядра компилятора. В 2.9 (и, следовательно, в 3.1, я полагаю) эта ошибка, кажется, исправлена.

Также эта более новая версия clang уже реализует часть C11, в частности _Generic.

...