У меня есть некоторый (устаревший) код, который я создаю с помощью clang в первый раз. Код выглядит примерно так:
sprintf(buf, "%s <%s ????>", p1, p2);
Clang выдает следующее предупреждение (ошибка с -Werror
):
test.c:6:33: error: trigraph converted to '}' character [-Werror,-Wtrigraphs]
sprintf(buf, "%s <%s ????>", p1, p2);
^
Очевидно, что ??>
не предназначен для использования в качестве триграфа, поэтому я хочу полностью отключить триграфы (источник их нигде не использует намеренно. ).
Я пробовал -no-trigraphs
, но на самом деле это не вариант:
clang: warning: argument unused during compilation: '-no-trigraphs'
Я могу отключить предупреждение о триграфах с помощью -Wno-trigraphs
, но я этого не делаю. Я не хочу, чтобы преобразование триграфа вообще происходило.
ПРИМЕЧАНИЕ: Триграфы были включены как непреднамеренный побочный эффект использования -std = c89
.