Аннотация:
В связи с использованием современными компиляторами C/C++ агрессивных оптимизаций, эксплуатирующих неопределённое поведение, существует потребность в безопасном компиляторе, который не проводит подобные оптимизации, а также предотвращает использование разработчиком небезопасных конструкций. В ИСП РАН был реализован безопасный компилятор на основе GCC, однако часть разработчиков предпочитает GCC Clang, который не лишён проблемы эксплуатации неопределённого поведения. В этой работе рассматриваются возможности Clang по осуществлению безопасной компиляции и описывается реализация безопасного компилятора на его основе. Для созданного безопасного компилятора показывается применимость на практике и оценивается влияние на производительность программ.