После трёх с половиной лет разработки доступен (http://pcc.ludd.ltu.se/news/) второй стабильный релиз компилятора PCC 1.1.0 (http://pcc.ludd.ltu.se/) (Portable C Compiler), развиваемого с целью создания альтернативы Си-компилятора из состава GCC, распространяемой под лицензией BSD. Версия 1.1 полноценно поддерживает архитектуры amd64 и i386. Частично обеспечена поддержка архитектур arm, hppa, mips, powerpc, sparc64, m68k и vax. Компилятор полностью поддерживает стандарт C99 и пригоден для пересборки FreeBSD, NetBSD и OpenBSD.
PCC является в значительной степени переработанным вариантом компилятора Portable C Compiler, разработанного Стивом С. Джонсоном (S. C. Johnson) в конце 70-х годов прошлого века в качестве замены компилятору DMR (оригинальный компилятор, созданный Дэнисом Ритчи) в выпусках System V и BSD 4.x. В современной версии PCC более 50% кода фронтэнда и 80% кода бэкенда переписано. Основным разработчиком проекта является Андрес Магнуссон (Anders Magnusson) из команды NetBSD. Размер архива (ftp://pcc.ludd.ltu.se/pub/pcc-releases/) с исходными текстами PCC занимает менее мегабайта. Процесс компиляции осуществляется в несколько раз быстрее, чем в GCC, при приемлемом качестве коде на выходе.
В новом выпуске (http://pcc.ludd.ltu.se/fisheye/changelog/pcc):
- Реализованы бэкенды для архитектур m68k и vax.
- Расширена поддержка платформ mips и arm.
- Улучшена работа препроцессора (cpp).
- Добавлена поддержка профилирования кода.
- Проведена работа по обеспечению совместимости на уровне опций с GCC, в том числе добавлена поддержка опций "-print-file-name", "-print-prog-name" и "-print-libgcc-file-name".
- В компилятор добавлены новые опции "-O0", "-O", "-O1", "-O2", "-xtemps", "-xdeljumps, "-xinline",
"-xassembler", "-d" для передачи отладочных флагов и "-E" для изменения кода возврата в случае наличия предупреждений на этапе компиляции.
- Внесены оптимизации производительности и решены многие проблемы, проявляющиеся при сборке существующих проектов.
- Добавлена поддержка сборки фреймворков и простых приложений для OS X.
- Обеспечена возможности сборки всех компонентов директории /bin из базовой системы NetBSD.
Что касается будущих выпусков, в настоящее время в списке рассылки разработчиками PСС рассматривается предложение (http://marc.info/?t=141884960400002&r=1&w=2) по добавлению начальной поддержки разбора синтаксиса языка C++.
URL: http://pcc.ludd.ltu.se/news/
Новость: http://www.opennet.ru/opennews/art.shtml?num=41353