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. |
36 "/FS", # Preserve previous PDB behavior. | 37 "/FS", # Preserve previous PDB behavior. |
37 "/bigobj", # Some of our files are bigger than the regular limits. | 38 "/bigobj", # Some of our files are bigger than the regular limits. |
38 ] | 39 ] |
39 if (!is_clang) { | |
40 # TODO(thakis): Enable this with clang too, https://crbug.com/598767 | |
41 cflags += [ "/GS" ] # Enable buffer security checking. | |
42 } | |
43 | 40 |
44 # Force C/C++ mode for the given GN detected file type. This is necessary | 41 # Force C/C++ mode for the given GN detected file type. This is necessary |
45 # for precompiled headers where the same source file is compiled in both | 42 # for precompiled headers where the same source file is compiled in both |
46 # modes. | 43 # modes. |
47 cflags_c = [ "/TC" ] | 44 cflags_c = [ "/TC" ] |
48 cflags_cc = [ "/TP" ] | 45 cflags_cc = [ "/TP" ] |
49 | 46 |
50 if (visual_studio_version == "2015") { | 47 if (visual_studio_version == "2015") { |
51 cflags += [ | 48 cflags += [ |
52 # Work around crbug.com/526851, bug in VS 2015 RTM compiler. | 49 # Work around crbug.com/526851, bug in VS 2015 RTM compiler. |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 | 374 |
378 # Internal stuff -------------------------------------------------------------- | 375 # Internal stuff -------------------------------------------------------------- |
379 | 376 |
380 # Config used by the MIDL template to disable warnings. | 377 # Config used by the MIDL template to disable warnings. |
381 config("midl_warnings") { | 378 config("midl_warnings") { |
382 if (is_clang) { | 379 if (is_clang) { |
383 # MIDL generates code like "#endif !_MIDL_USE_GUIDDEF_". | 380 # MIDL generates code like "#endif !_MIDL_USE_GUIDDEF_". |
384 cflags = [ "-Wno-extra-tokens" ] | 381 cflags = [ "-Wno-extra-tokens" ] |
385 } | 382 } |
386 } | 383 } |
OLD | NEW |