ООО "СиПроВер" объявляет о выходе новой версии статического анализатора VivaMP 1.10. Инструмент VivaMP предназначен для поиска параллельных ошибок в коде приложений, разработанных на языке Си++ с использованием технологии OpenMP.
В новой версии улучшена поддержка статических функций класса, что позволяет производить более точную диагностику.
Улучшен механизм, скрывающий дублирующиеся ошибки, которые находятся в заголовочных файлах, указанных в относительном виде. Раньше при проверке проекта, ошибка в #include "lib\file.h" и #include "lib\..\lib\file.h" посчиталась бы как находящаяся в разных файлах. И было бы выдано два диагностических предупреждения. Теперь пути раскрываются, и анализатор дважды не указывает на ошибки находящиеся в файле "file.h".
Добавлено три новых диагностических правила, связанных с использованием исключений внутри параллельных регионов. Согласно спецификации OpenMP исключения, сгенерированные внутри параллельного региона должны быть пойманы и обработаны внутри этого региона с использованием конструкций try/catch. Анализатор диагностирует следующие ситуации:
V1301 - в параллельном регионе используется оператор throw не обернутый в блок try/catch.
V1302 - в параллельном регионе используется оператор new не обернутый в блок try/catch.
V1302 - в параллельном регионе используется функция заведомо генерирующая исключения и не обернутая в блок try/catch.