Chromium Code Reviews| Index: build/config/BUILD.gn |
| diff --git a/build/config/BUILD.gn b/build/config/BUILD.gn |
| index 216d0e9b17bec47133d3fbbf43d2ab08c2a84edb..7dabf019f59df5fb2285a82c2e4b2c17d1154808 100644 |
| --- a/build/config/BUILD.gn |
| +++ b/build/config/BUILD.gn |
| @@ -3,11 +3,10 @@ |
| # found in the LICENSE file. |
| declare_args() { |
| - # When set, turns off the definition of _GLIBCXX_DEBUG when it would |
| - # otherwise be set. Setting _GLIBCXX_DEBUG adds iterator debugging stuff |
| - # that is usually helpful in debugging, but can cause problems in some |
| - # contexts. |
| - disable_glibcxx_debug = false |
| + # When set, turns off the (normally-on) iterator debugging and related stuff |
| + # that is normall turned on for Debug builds. These are generally useful for |
|
scottmg
2014/01/17 23:52:25
normally
|
| + # catching bugs but in some cases may cause conflicts or excessive slowness. |
| + disable_iterator_debugging = false |
| } |
| config("my_msvs") { |
| @@ -46,7 +45,6 @@ config("my_msvs") { |
| } |
| config("feature_flags") { |
| - #defines = |
| } |
| config("debug") { |
| @@ -56,7 +54,14 @@ config("debug") { |
| "WTF_USE_DYNAMIC_ANNOTATIONS=1", |
| ] |
| - if (is_linux && !is_android && cpu_arch == "x64" && !disable_glibcxx_debug) { |
| + if (is_win) { |
| + if (disable_iterator_debugging) { |
| + # Iterator debugging is enabled by the compiler on debug builds, and we |
| + # have to tell it to turn it off. |
| + defines += [ "_HAS_ITERATOR_DEBUGGING=0" ] |
| + } |
| + } else if (is_linux && !is_android && cpu_arch == "x64" && |
| + !disable_iterator_debugging) { |
| # Enable libstdc++ debugging facilities to help catch problems early, see |
| # http://crbug.com/65151 . |
| # TODO(phajdan.jr): Should we enable this for all of POSIX? |