diff options
author | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-07 13:19:15 +0000 |
---|---|---|
committer | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-07 13:19:15 +0000 |
commit | 2ae6e0211643007dba78a6d753960c8fffc38aae (patch) | |
tree | 16736e73d64166da193a828ef7f00699db77b8e0 /build | |
parent | 585b6bdeaf4104d26311f09dbb99f5085b5becb6 (diff) | |
download | chromium_src-2ae6e0211643007dba78a6d753960c8fffc38aae.zip chromium_src-2ae6e0211643007dba78a6d753960c8fffc38aae.tar.gz chromium_src-2ae6e0211643007dba78a6d753960c8fffc38aae.tar.bz2 |
Quick fix: explicitly specify /Ob0 to avoid inlining if InlineFunctionExpansion==0; add 'default' value
This is a follow-up for http://codereview.chromium.org/1995004
Looks like InlineFunctionExpansion=0 means "default", not /Ob0 for MSVS...
TEST=trybots, tried locally with "vim base/base.vcproj"
Review URL: http://codereview.chromium.org/2041002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46682 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r-- | build/common.gypi | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/build/common.gypi b/build/common.gypi index 90529a5..93b2320 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -381,8 +381,8 @@ # See http://msdn.microsoft.com/en-us/library/8wtf2dfz(VS.71).aspx 'win_debug_RuntimeChecks%': '3', # 3 = all checks enabled, 0 = off # See http://msdn.microsoft.com/en-us/library/47238hez(VS.71).aspx - 'win_debug_InlineFunctionExpansion%': '0', # 0 = off - 'win_release_InlineFunctionExpansion%': '2', # 2 = max + 'win_debug_InlineFunctionExpansion%': '', # empty = default, 0 = off, + 'win_release_InlineFunctionExpansion%': '2', # 1 = only __inline, 2 = max 'release_extra_cflags%': '', 'debug_extra_cflags%': '', @@ -625,8 +625,19 @@ 'Optimization': '<(win_debug_Optimization)', 'PreprocessorDefinitions': ['_DEBUG'], 'BasicRuntimeChecks': '<(win_debug_RuntimeChecks)', - 'InlineFunctionExpansion': '<(win_debug_InlineFunctionExpansion)', 'RuntimeLibrary': '<(win_debug_RuntimeLibrary)', + 'conditions': [ + # According to MSVS, InlineFunctionExpansion=0 means + # "default inlining", not "/Ob0". + # Thus, we have to handle InlineFunctionExpansion==0 separately. + ['win_debug_InlineFunctionExpansion==0', { + 'AdditionalOptions': ['/Ob0'], + }], + ['win_debug_InlineFunctionExpansion!=""', { + 'InlineFunctionExpansion': + '<(win_debug_InlineFunctionExpansion)', + }], + ], }, 'VCLinkerTool': { 'LinkIncremental': '<(msvs_debug_link_incremental)', @@ -656,8 +667,19 @@ 'msvs_settings': { 'VCCLCompilerTool': { 'Optimization': '<(win_release_Optimization)', - 'InlineFunctionExpansion': '<(win_release_InlineFunctionExpansion)', 'RuntimeLibrary': '<(win_release_RuntimeLibrary)', + 'conditions': [ + # According to MSVS, InlineFunctionExpansion=0 means + # "default inlining", not "/Ob0". + # Thus, we have to handle InlineFunctionExpansion==0 separately. + ['win_release_InlineFunctionExpansion==0', { + 'AdditionalOptions': ['/Ob0'], + }], + ['win_release_InlineFunctionExpansion!=""', { + 'InlineFunctionExpansion': + '<(win_release_InlineFunctionExpansion)', + }], + ], }, 'VCLinkerTool': { 'LinkIncremental': '1', |