Spec-Zone.ru › GCC 5

3.7 Параметры управления форматированием диагностических сообщений

Традиционно диагностические сообщения форматируются независимо от характеристик устройства вывода (например, его ширины...). Вы можете использовать описанные ниже параметры для управления алгоритмом форматирования диагностических сообщений, например, количеством символов на строке, частотой вывода информации о расположении источника. Обратите внимание, что некоторые языковые фронтенды могут не поддерживать эти параметры.

-fmessage-length=n

Попытаться отформатировать сообщения об ошибках так, чтобы они помещались на строках примерно из n символов. Если n равно нулю, то перенос строки не выполняется; каждое сообщение об ошибке отображается на одной строке. По умолчанию для всех фронтендов используется этот режим.

-fdiagnostics-show-location=once

Значимо только в режиме переноса строк. Инструктирует репортер диагностических сообщений выводить информацию о расположении источника один раз; то есть, если сообщение слишком длинное для одной физической строки и его нужно переносить на несколько строк, информация о расположении источника не будет выводиться (в качестве префикса) снова и снова в последующих продолжениях строк. По умолчанию используется это поведение.

-fdiagnostics-show-location=every-line

Значимо только в режиме переноса строк. Инструктирует репортер диагностических сообщений выводить ту же информацию о расположении источника (как префикс) для физических строк, которые получились при переносе сообщения, слишком длинного для одной строки.

-fdiagnostics-color[=WHEN]
-fno-diagnostics-color

Использование цвета в диагностике. WHEN может быть ‘never’, ‘always’ или ‘auto’. Значение по умолчанию зависит от конфигурации компилятора, может быть любым из указанных вариантов WHEN или также ‘never’, если переменная среды GCC_COLORS отсутствует в среде, и ‘auto’ в противном случае. ‘auto’ означает использовать цвет только тогда, когда стандартный вывод ошибок направлен на терминал. Формы -fdiagnostics-color и -fno-diagnostics-color являются псевдонимами для -fdiagnostics-color=always и -fdiagnostics-color=never соответственно.

Цвета определяются переменной среды GCC_COLORS. Ее значение представляет собой список способностей и подстрок Select Graphic Rendition (SGR), разделенных двоеточиями. Команды SGR интерпретируются терминалом или эмулятором терминала. (См. раздел документации вашего текстового терминала для допустимых значений и их значений в качестве атрибутов символов.) Эти значения подстрок — целые числа в десятичной записи и могут быть объединены точками с запятой. Общие значения для объединения включают ‘1’ для полужирного шрифта, ‘4’ для подчеркивания, ‘5’ для мигания, ‘7’ для инвертирования, ‘39’ для стандартного цвета переднего плана, ‘30’ до ‘37’ для цветов переднего плана, ‘90’ до ‘97’ для цветов переднего плана в 16-цветном режиме, ‘38;5;0’ до ‘38;5;255’ для цветов переднего плана в 88-цветном и 256-цветном режимах, ‘49’ для стандартного цвета заднего плана, ‘40’ до ‘47’ для цветов заднего плана, ‘100’ до ‘107’ для цветов заднего плана в 16-цветном режиме и ‘48;5;0’ до ‘48;5;255’ для цветов заднего плана в 88-цветном и 256-цветном режимах.

Значение по умолчанию GCC_COLORS

error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01

где ‘01;31’ — полужирный красный, ‘01;35’ — полужирный пурпурный, ‘01;36’ — полужирный голубой, ‘01;32’ — полужирный зелёный, а ‘01’ — полужирный. Установка GCC_COLORS в пустую строку отключает цвета. Поддерживаемые возможности:

error=

Подстрока SGR для ошибки: маркеры.

warning=

Подстрока SGR для предупреждения: маркеры.

note=

Подстрока SGR для заметки: маркеры.

caret=

Подстрока SGR для строки отступа.

locus=

Подстрока SGR для информации о местоположении, ‘file:line’ или ‘file:line:column’ и т.д.

quote=

Подстрока SGR для информации, выведенной в кавычках.

-fno-diagnostics-show-option

По умолчанию каждое выводимое диагностическое сообщение содержит текст, указывающий командную строку опцию, которая непосредственно управляет диагностикой (если такая опция известна механизму диагностики). Указание флага -fno-diagnostics-show-option подавляет это поведение.

-fno-diagnostics-show-caret

По умолчанию каждое выводимое диагностическое сообщение включает исходную строку и символ «^» (каретка), указывающий колонку. Эта опция подавляет вывод этой информации. Строка исходного кода усекается до n символов, если задана опция -fmessage-length=n. Когда вывод осуществляется на терминал, ширина ограничена шириной, заданной переменной среды COLUMNS, или, если она не задана, шириной терминала.

Далее: Параметры предупреждений, Предыдущее: Параметры диалектов Objective-C и Objective-C++, Вверх: Вызов GCC [Оглавление][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.5.0/gcc/Language-Independent-Options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API