Все компиляторы: отключить предупреждения для некоторых заголовков - PullRequest
0 голосов
/ 29 сентября 2018

У меня кроссплатформенный проект.Он компилируется с использованием разных компиляторов (gcc, clang, msvc ++).

На данный момент единственная проблема с моими предупреждениями связана с заголовками Boost.Gcc генерирует их для моего проекта, компилируемого для платформы Android.

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

Итак, я создал следующие два файла:

compiler_warnings_pop.h

//WARNING: no #pragma once here
#if defined(__clang__)
#pragma clang diagnostic pop
#elif defined(__GNUC__) || defined(__GNUG__)
#pragma GCC diagnostic pop
#elif defined(_MSC_VER)
#pragma warning(pop)
#endif

compiler_warnings_push.h

//WARNING: no #pragma once here
#if defined(__clang__)
#pragma clang diagnostic push
#elif defined(__GNUC__) || defined(__GNUG__)
#pragma GCC diagnostic push
#elif defined(_MSC_VER)
#pragma warning(push)
#endif

Теперь мне нужен код, который может временно отключить все предупреждения для любого компилятора.Есть один?Поэтому я мог бы использовать следующий код:

#include <compiler_warnings_push.h>
#include <compiler_warnings_disable.h>
#include <boost/...>
#include <compiler_warnings_pop.h>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...