mirror of
git://jb55.com/damus
synced 2024-09-18 19:23:49 +00:00
53 lines
1.6 KiB
C
53 lines
1.6 KiB
C
#ifndef PWARNINGS_H
|
|
#define PWARNINGS_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
* See also pdiagnostics.h headers for per file control of common
|
|
* warnings.
|
|
*
|
|
* This file is intended for global disabling of warnings that shouldn't
|
|
* be present in C11 or perhaps C99, or a generally just noise where
|
|
* recent clang / gcc compile cleanly with high warning levels.
|
|
*/
|
|
|
|
#if defined(_MSC_VER)
|
|
/* Needed when flagging code in or out and more. */
|
|
#pragma warning(disable: 4127) /* conditional expression is constant */
|
|
/* happens also in MS's own headers. */
|
|
#pragma warning(disable: 4668) /* preprocessor name not defined */
|
|
/* MSVC does not respect double parenthesis for intent */
|
|
#pragma warning(disable: 4706) /* assignment within conditional expression */
|
|
/* `inline` only advisory anyway. */
|
|
#pragma warning(disable: 4710) /* function not inlined */
|
|
/* Well, we don't intend to add the padding manually. */
|
|
#pragma warning(disable: 4820) /* x bytes padding added in struct */
|
|
|
|
/*
|
|
* Don't warn that fopen etc. are unsafe
|
|
*
|
|
* Define a compiler flag like `-D_CRT_SECURE_NO_WARNINGS` in the build.
|
|
* For some reason it doesn't work when defined here.
|
|
*
|
|
* #define _CRT_SECURE_NO_WARNINGS
|
|
*/
|
|
|
|
/*
|
|
* Anonymous union in struct is valid in C11 and has been supported in
|
|
* GCC and Clang for a while, but it is not C99. MSVC also handles it,
|
|
* but warns. Truly portable code should perhaps not use this feature,
|
|
* but this is not the place to complain about it.
|
|
*/
|
|
#pragma warning(disable: 4201) /* nonstandard extension used: nameless struct/union */
|
|
|
|
#endif /* _MSV_VER */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* PWARNINGS_H */
|