-compiler greenhills)Укажите компилятор Green Hills
Определить greenhills для Compiler (-compiler) при компиляции кода с помощью компилятора Green Hills ®. Указывая компилятор, можно избежать ошибок компиляции из синтаксиса, который не является частью стандарта, но происходит от языковых расширений.
Затем укажите тип целевого процессора. При выборе greenhills для компилятора в интерфейсе пользователя настольных продуктов Polyspace ® отображаются только процессоры, разрешенные для компилятора Green Hills. Ваш выбор целевого процессора определяет размер фундаментальных типов данных, полноту целевой машины и определённые определения ключевых слов.
При указании greenhills необходимо указать путь к файлам заголовка компилятора. См. раздел Предоставление стандартных заголовков библиотек для анализа полиспейсов.
Целевые объекты используют следующие размеры по умолчанию в битах для фундаментальных типов. Эти размеры не отображаются в интерфейсе пользователя настольных продуктов Polyspace.
| Цель | случайная работа | короткий | интервал | долго | длинная | плавание | дважды | длинный двойник | ptr | Знак символа по умолчанию | Endianness | Выравнивание | Определение size_t | Определение wchar_t |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
powerpc | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | неподписанный | Большой | 64 | неподписанная int | подпись длинная |
powerpc64 | 8 | 16 | 32 | 64 | 64 | 32 | 64 | 64 | 64 | неподписанный | Большой | 64 | неподписанный длинный | подписано int |
arm | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | неподписанный | Мало | 32 | неподписанная int | неподписанный короткий |
arm64 | 8 | 16 | 32 | 64 | 64 | 32 | 64 | 64 | 64 | неподписанный | Мало | 64 | неподписанный длинный | подписано int |
tricore | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | подписанный | Мало | 32 | неподписанная int | подпись длинная |
rh850 | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | подписанный | Мало | 64 | неподписанная int | подпись длинная |
i386 | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 96 | 32 | подписанный | Мало | 32 | неподписанная int | подпись длинная |
x86_64 | 8 | 16 | 32 | 64 | 64 | 32 | 64 | 128 | 64 | подписанный | Мало | 128 | неподписанный длинный | подписано int |
Спецификация компилятора также определяет значения многих специфичных для компилятора макросов. Если требуется узнать, как Polyspace определяет определенный макрос, используйте опцию -dump-preprocessing-info.
Чтобы переопределить определение макроса, используйте параметр Preprocessor definitions (-D).
Чтобы отменить определение макроса, используйте параметр Disabled preprocessor definitions (-U).
Если при анализе Polyspace возникают ошибки, см. раздел Ошибки, связанные с компилятором Green Hills
Polyspace поддерживает встроенную конфигурацию для i386 target. Если компилятор x86 Green Hills настроен для разработки на базе ОС Windows ®, с помощью программы Code Prover можно увидеть ошибки компиляции или неверные результаты анализа. Обратитесь в службу технической поддержки.
Например, компиляторы Green Hills считают размер 12 байт для long double для встроенных целей, но 8 байт для встроенной Windows. По умолчанию Polyspace считает 12 байт.
При создании проекта Polyspace из команды build, использующей компилятор Green Hills, параметры компилятора -filetype и -os_dir не реализованы в проекте. Эмуляция -os_dir можно явно добавить аргумент path параметра в качестве папки включения в проект Polyspace.
Если в качестве расширений кода в IDE используется Polyspace, введите эту опцию в файл опций анализа. См. файл параметров.
Параметр:
-compiler greenhills -target |
Значение:
powerpc | powerpc64 | arm | arm64 | tricore | rh850 | arm | i386 | x86_64 |
По умолчанию:
powerpc |
Пример (поиск ошибок):
polyspace-bug-finder -compiler greenhills -target arm |
Пример (проверка кода):
polyspace-code-prover -compiler greenhills -target arm |
Пример (сервер поиска ошибок):
polyspace-bug-finder-server -compiler greenhills -target arm |
Пример (сервер проверки кода):
polyspace-code-prover-server -compiler greenhills -target arm |