Я хочу удалить / игнорировать предупреждение о лязгах для блока кода и нашел несколько примеров того, как использовать для этого прагамы. Например, если отображается предупреждение unused-variable
, вы можете отключить его, используя:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"
int a;
#pragma clang diagnostic pop
Однако проблема в том, что я не получаю предупреждения на выходе при создании репозитория, я только узнаю, какая проверка clang выдает предупреждение ... И я не могу найти никаких других вопросов или документации, где это кейс. Вот как выглядит мой результат:
warning: Use of memory after it is freed [clang-analyzer-cplusplus.NewDelete]
Я пробовал сотни различных комбинаций того, как игнорировать это, но ничего не работает (использование // NOLINT
не является жизнеспособным вариантом). Среди вещей, которые я пробовал, вот некоторые:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Winline-new-delete"
#pragma clang diagnostic ignored "-Wmost"
#pragma clang diagnostic ignored "-Weverything"
#pragma clang diagnostic ignored "clang-analyzer-cplusplus.NewDelete"
#pragma clang diagnostic ignored "-Wclang-analyzer-cplusplus.NewDelete"
#pragma clang diagnostic ignored "-clang-analyzer-cplusplus.NewDelete"
#pragma clang diagnostic ignored "-W-NewDelete"
#pragma clang diagnostic ignored "-W-new-delete"
// code
#pragma clang diagnostic pop
Обратите внимание: исправление кода также не является вариантом, поскольку это сторонний код.