Андрес Магнуссон (Anders Magnusson) представил первый стабильный релиз компилятора PCC 1.0.0 (Portable C Compiler), развиваемого с целью создания альтернативы Си-компилятора из состава GCC, распространяемой под лицензией BSD. PCC достиг стабильного состояния при работе на платформах i386 и amd64 в различных ОС, включая BSD-системы, большинство Linux-дистрибутивов, а также Microsoft Windows. Поддержка остальных аппаратных платформ еще недостаточно отлажена и может содержать ошибки и недоработки. Следом за версией 1.0.0 в недалёком будущем будет выпущено несколько корректирующих релизов, после чего ожидается версия 1.1 с реализацией более серьезных изменений.

На данный момент PCC может быть использован для сборки большинства составляющих базовой системы FreeBSD, NetBSD и OpenBSD. PCC полностью совместим со стандартом C99 и частично совместим с GCC. Процесс компиляции осуществляется в несколько раз быстрее, чем в GCC, при приемлемом уровне кода на выходе. Например, сборка тестового комплекта ByteBench, выполненная при помощи gcc 4.1.3 (режим оптимизации "-O2") оказалась в большинстве тестов лишь на несколько процентов быстрее сборки с использованием PCC (исключение составил тест dhry2reg, при котором PCC отстал почти в два раза и тест hanoi, при котором отставание было на уровне 30%).

Компилятор PCC основан на оригинальном компиляторе Portable C Compiler Стива С. Джонсона, который был написан в конце 70-ых годов прошлого века. Хотя большая часть компилятора была переписана, некоторые составляющие остались. Portable C Compiler появился в Unix Version 7, в качестве замены компилятору DMR (оригинальный компилятор, созданный Дэнисом Ритчи) в выпусках System V и BSD 4.x. Некоторые моменты истории Portable C Compiler описаны в статьях История UNIX до Беркли: Эволюция UNIX: 1975-1984 и Эволюция C.

Около 50% кода фронтэнда и 80% кода бэкенда современной версии PCC было переписано. Большинство кода написано Андресом Магнуссоном, исключая часть анализа потоков данных и SSA-преобразований, написанные Питером Джонсоном (Peter A Jonsson). Порт для архитектуры MIPS написан в рамках студенческого проекта Технологического университета Лулео (LUT).

Для стимулирования обеспечения возможности сборки Linux-ядра при помощи PCC представлена инициатива "book bounty" (The Linux/pcc Bounty Book Bundle), в рамках которой организовано соревнование с простым правилом "необходимо первым собрать текущее Linux-ядро, используя pcc", победитель будет награждён шестью книгами от No Starch Press и O'Reilly Media.

Размер архива с исходными текстами PCC 1.0.0 занимает менее мегабайта. Финансирование доведения PCC до первого стабильного релиза предоставлено проектом BSD Fund. Разработчики будут благодарны за тестирование PCC. Со списком планов по развитию PCC можно познакомиться на странице Road map. Желающие принять участие в разработке PCC, могут обратиться на email dexter at bsdfund dot org.

Источник: http://www.opennet.ru/opennews/art.shtml?num=30110