OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/compiler/compiler.gni") | 5 import("//build/config/compiler/compiler.gni") |
6 import("//build/config/sanitizers/sanitizers.gni") | 6 import("//build/config/sanitizers/sanitizers.gni") |
7 import("//build/config/win/visual_studio_version.gni") | 7 import("//build/config/win/visual_studio_version.gni") |
8 | 8 |
9 assert(is_win) | 9 assert(is_win) |
10 | 10 |
(...skipping 15 matching lines...) Expand all Loading... |
26 # can also produce a table of the image's safe exception handlers. This | 26 # can also produce a table of the image's safe exception handlers. This |
27 # table specifies for the operating system which exception handlers are | 27 # table specifies for the operating system which exception handlers are |
28 # valid for the image. Note that /SAFESEH isn't accepted on the command | 28 # valid for the image. Note that /SAFESEH isn't accepted on the command |
29 # line, only /safeseh. This is only accepted by ml.exe, not ml64.exe. | 29 # line, only /safeseh. This is only accepted by ml.exe, not ml64.exe. |
30 "/safeseh", | 30 "/safeseh", |
31 ] | 31 ] |
32 } | 32 } |
33 | 33 |
34 cflags = [ | 34 cflags = [ |
35 "/Gy", # Enable function-level linking. | 35 "/Gy", # Enable function-level linking. |
36 "/GS", # Enable buffer security checking. | |
37 "/FS", # Preserve previous PDB behavior. | 36 "/FS", # Preserve previous PDB behavior. |
38 "/bigobj", # Some of our files are bigger than the regular limits. | 37 "/bigobj", # Some of our files are bigger than the regular limits. |
39 ] | 38 ] |
| 39 if (!is_clang) { |
| 40 # TODO(thakis): Enable this with clang too, https://crbug.com/598767 |
| 41 cflags += [ "/GS" ] # Enable buffer security checking. |
| 42 } |
40 | 43 |
41 # Force C/C++ mode for the given GN detected file type. This is necessary | 44 # Force C/C++ mode for the given GN detected file type. This is necessary |
42 # for precompiled headers where the same source file is compiled in both | 45 # for precompiled headers where the same source file is compiled in both |
43 # modes. | 46 # modes. |
44 cflags_c = [ "/TC" ] | 47 cflags_c = [ "/TC" ] |
45 cflags_cc = [ "/TP" ] | 48 cflags_cc = [ "/TP" ] |
46 | 49 |
47 if (visual_studio_version == "2015") { | 50 if (visual_studio_version == "2015") { |
48 cflags += [ | 51 cflags += [ |
49 # Work around crbug.com/526851, bug in VS 2015 RTM compiler. | 52 # Work around crbug.com/526851, bug in VS 2015 RTM compiler. |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 | 377 |
375 # Internal stuff -------------------------------------------------------------- | 378 # Internal stuff -------------------------------------------------------------- |
376 | 379 |
377 # Config used by the MIDL template to disable warnings. | 380 # Config used by the MIDL template to disable warnings. |
378 config("midl_warnings") { | 381 config("midl_warnings") { |
379 if (is_clang) { | 382 if (is_clang) { |
380 # MIDL generates code like "#endif !_MIDL_USE_GUIDDEF_". | 383 # MIDL generates code like "#endif !_MIDL_USE_GUIDDEF_". |
381 cflags = [ "-Wno-extra-tokens" ] | 384 cflags = [ "-Wno-extra-tokens" ] |
382 } | 385 } |
383 } | 386 } |
OLD | NEW |