From 54e76fb873027cc6089bf8d7359d188d3687909e Mon Sep 17 00:00:00 2001 From: Refael Ackermann Date: Mon, 3 Sep 2018 22:00:09 -0400 Subject: [PATCH] build,win: exclude warning 4244 only for deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * also unify warning exclusion directive PR-URL: https://github.com/nodejs/node/pull/22698 Reviewed-By: João Reis --- common.gypi | 27 ++++++++++++++------------- node.gyp | 10 ++++++++++ 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/common.gypi b/common.gypi index 273c6b241a4..cba83cc8cf7 100644 --- a/common.gypi +++ b/common.gypi @@ -274,18 +274,6 @@ 'BufferSecurityCheck': 'true', 'ExceptionHandling': 0, # /EHsc 'SuppressStartupBanner': 'true', - # Disable warnings: - # - "C4251: class needs to have dll-interface" - # - "C4275: non-DLL-interface used as base for DLL-interface" - # Over 10k of these warnings are generated when compiling node, - # originating from v8.h. Most of them are false positives. - # See also: https://github.com/nodejs/node/pull/15570 - # TODO: re-enable when Visual Studio fixes these upstream. - # - # - "C4267: conversion from 'size_t' to 'int'" - # Many any originate from our dependencies, and their sheer number - # drowns out other, more legitimate warnings. - 'DisableSpecificWarnings': ['4251', '4275', '4267'], 'WarnAsError': 'false', }, 'VCLinkerTool': { @@ -316,7 +304,20 @@ 'SuppressStartupBanner': 'true', }, }, - 'msvs_disabled_warnings': [4351, 4355, 4800], + # Disable warnings: + # - "C4251: class needs to have dll-interface" + # - "C4275: non-DLL-interface used as base for DLL-interface" + # Over 10k of these warnings are generated when compiling node, + # originating from v8.h. Most of them are false positives. + # See also: https://github.com/nodejs/node/pull/15570 + # TODO: re-enable when Visual Studio fixes these upstream. + # + # - "C4267: conversion from 'size_t' to 'int'" + # Many any originate from our dependencies, and their sheer number + # drowns out other, more legitimate warnings. + # - "C4244: conversion from 'type1' to 'type2', possible loss of data" + # Ususaly safe. Disable for `dep`, enable for `src` + 'msvs_disabled_warnings': [4351, 4355, 4800, 4251, 4275, 4244, 4267], 'conditions': [ ['asan == 1 and OS != "mac"', { 'cflags+': [ diff --git a/node.gyp b/node.gyp index 48207e2113b..3f71e154b98 100644 --- a/node.gyp +++ b/node.gyp @@ -239,6 +239,11 @@ 'src', 'deps/v8/include', ], + + # - "C4244: conversion from 'type1' to 'type2', possible loss of data" + # Ususaly safe. Disable for `dep`, enable for `src` + 'msvs_disabled_warnings!': [4244], + 'conditions': [ [ 'node_intermediate_lib_type=="static_library" and ' 'node_shared=="true" and OS=="aix"', { @@ -472,6 +477,11 @@ 'V8_DEPRECATION_WARNINGS=1', 'NODE_OPENSSL_SYSTEM_CERT_PATH="<(openssl_system_ca_path)"', ], + + # - "C4244: conversion from 'type1' to 'type2', possible loss of data" + # Ususaly safe. Disable for `dep`, enable for `src` + 'msvs_disabled_warnings!': [4244], + 'conditions': [ [ 'node_code_cache_path!=""', { 'sources': [ '<(node_code_cache_path)' ]