mirror of
https://github.com/postgres/postgres.git
synced 2026-03-29 13:53:46 -04:00
Disable warnings in system headers in MSVC
This is similar to the standard behavior in GCC. For MSVC, we set all headers in angle brackets to be considered system headers. (GCC goes by path, not include style.) The required option is available since VS 2017. (Before VS 2019 version 16.10, the additional option /experimental:external is required, but per discussion in [0], we effectively require 16.11, so this shouldn't be a problem.) [0]: https://www.postgresql.org/message-id/04ab76a3-186c-4a37-8076-e6882ebf9d43%40eisentraut.org Then, we can remove one workaround for avoiding a warning from a system header. (And some warnings to be enabled in the future could benefit from this.) Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/aa73q1aT0A3/vke/%40ip-10-97-1-34.eu-west-3.compute.internal
This commit is contained in:
parent
5282bf535e
commit
bccfc73acd
2 changed files with 4 additions and 14 deletions
|
|
@ -2309,6 +2309,10 @@ if cc.get_id() == 'msvc'
|
||||||
'/w24062', # enumerator 'identifier' in switch of enum 'enumeration' is not handled [like -Wswitch]
|
'/w24062', # enumerator 'identifier' in switch of enum 'enumeration' is not handled [like -Wswitch]
|
||||||
'/w24102', # unreferenced label [like -Wunused-label]
|
'/w24102', # unreferenced label [like -Wunused-label]
|
||||||
'/w24777', # 'function' : format string 'string' requires an argument of type 'type1', but variadic argument number has type 'type2' [like -Wformat]
|
'/w24777', # 'function' : format string 'string' requires an argument of type 'type1', but variadic argument number has type 'type2' [like -Wformat]
|
||||||
|
|
||||||
|
# Disable warnings in system headers
|
||||||
|
'/external:anglebrackets',
|
||||||
|
'/external:W0',
|
||||||
]
|
]
|
||||||
|
|
||||||
cppflags += [
|
cppflags += [
|
||||||
|
|
|
||||||
|
|
@ -38,21 +38,7 @@
|
||||||
|
|
||||||
#include "postgres.h"
|
#include "postgres.h"
|
||||||
|
|
||||||
/*
|
|
||||||
* Some versions of the MS SDK contain "typedef enum { ... } ;" which the MS
|
|
||||||
* compiler quite sanely complains about. Well done, Microsoft.
|
|
||||||
* This pragma disables the warning just while we include the header.
|
|
||||||
* The pragma is known to work with all (as at the time of writing) supported
|
|
||||||
* versions of MSVC.
|
|
||||||
*/
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#pragma warning(push)
|
|
||||||
#pragma warning(disable : 4091)
|
|
||||||
#endif
|
|
||||||
#include <dbghelp.h>
|
#include <dbghelp.h>
|
||||||
#ifdef _MSC_VER
|
|
||||||
#pragma warning(pop)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Much of the following code is based on CodeProject and MSDN examples,
|
* Much of the following code is based on CodeProject and MSDN examples,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue