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/android/config.gni") | 5 import("//build/config/android/config.gni") |
6 if (current_cpu == "arm") { | 6 if (current_cpu == "arm") { |
7 import("//build/config/arm.gni") | 7 import("//build/config/arm.gni") |
8 } | 8 } |
9 if (current_cpu == "mipsel" || current_cpu == "mips64el") { | 9 if (current_cpu == "mipsel" || current_cpu == "mips64el") { |
10 import("//build/config/mips.gni") | 10 import("//build/config/mips.gni") |
(...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 | 719 |
720 # Warnings --------------------------------------------------------------------- | 720 # Warnings --------------------------------------------------------------------- |
721 # | 721 # |
722 # This is where we disable various warnings that we've decided aren't | 722 # This is where we disable various warnings that we've decided aren't |
723 # worthwhile, and enable special warnings. | 723 # worthwhile, and enable special warnings. |
724 | 724 |
725 config("default_warnings") { | 725 config("default_warnings") { |
726 if (is_win) { | 726 if (is_win) { |
727 cflags = [ | 727 cflags = [ |
728 "/WX", # Treat warnings as errors. | 728 "/WX", # Treat warnings as errors. |
729 | |
730 # Warnings permanently disabled: | 729 # Warnings permanently disabled: |
731 | 730 |
732 # TODO(GYP) The GYP build doesn't have this globally enabled but disabled | 731 # TODO(GYP) The GYP build doesn't have this globally enabled but disabled |
733 # for a bunch of individual targets. Re-enable this globally when those | 732 # for a bunch of individual targets. Re-enable this globally when those |
734 # targets are fixed. | 733 # targets are fixed. |
735 "/wd4018", # Comparing signed and unsigned values. | 734 "/wd4018", # Comparing signed and unsigned values. |
736 | 735 |
737 # C4127: conditional expression is constant | 736 # C4127: conditional expression is constant |
738 # This warning can in theory catch dead code and other problems, but | 737 # This warning can in theory catch dead code and other problems, but |
739 # triggers in far too many desirable cases where the conditional | 738 # triggers in far too many desirable cases where the conditional |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
774 | 773 |
775 # C4611: interaction between 'function' and C++ object destruction is | 774 # C4611: interaction between 'function' and C++ object destruction is |
776 # non-portable | 775 # non-portable |
777 # This warning is unavoidable when using e.g. setjmp/longjmp. MSDN | 776 # This warning is unavoidable when using e.g. setjmp/longjmp. MSDN |
778 # suggests using exceptions instead of setjmp/longjmp for C++, but | 777 # suggests using exceptions instead of setjmp/longjmp for C++, but |
779 # Chromium code compiles without exception support. We therefore have to | 778 # Chromium code compiles without exception support. We therefore have to |
780 # use setjmp/longjmp for e.g. JPEG decode error handling, which means we | 779 # use setjmp/longjmp for e.g. JPEG decode error handling, which means we |
781 # have to turn off this warning (and be careful about how object | 780 # have to turn off this warning (and be careful about how object |
782 # destruction happens in such cases). | 781 # destruction happens in such cases). |
783 "/wd4611", | 782 "/wd4611", |
784 | |
785 # Warnings to evaluate and possibly fix/reenable later: | 783 # Warnings to evaluate and possibly fix/reenable later: |
786 | 784 |
787 "/wd4100", # Unreferenced formal function parameter. | 785 "/wd4100", # Unreferenced formal function parameter. |
788 "/wd4121", # Alignment of a member was sensitive to packing. | 786 "/wd4121", # Alignment of a member was sensitive to packing. |
789 "/wd4244", # Conversion: possible loss of data. | 787 "/wd4244", # Conversion: possible loss of data. |
790 "/wd4481", # Nonstandard extension: override specifier. | 788 "/wd4481", # Nonstandard extension: override specifier. |
791 "/wd4505", # Unreferenced local function has been removed. | 789 "/wd4505", # Unreferenced local function has been removed. |
792 "/wd4510", # Default constructor could not be generated. | 790 "/wd4510", # Default constructor could not be generated. |
793 "/wd4512", # Assignment operator could not be generated. | 791 "/wd4512", # Assignment operator could not be generated. |
794 "/wd4610", # Class can never be instantiated, constructor required. | 792 "/wd4610", # Class can never be instantiated, constructor required. |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
918 } | 916 } |
919 | 917 |
920 # On Windows compiling on x64, VC will issue a warning when converting | 918 # On Windows compiling on x64, VC will issue a warning when converting |
921 # size_t to int because it will truncate the value. Our code should not have | 919 # size_t to int because it will truncate the value. Our code should not have |
922 # these warnings and one should use a static_cast or a checked_cast for the | 920 # these warnings and one should use a static_cast or a checked_cast for the |
923 # conversion depending on the case. However, a lot of code still needs to be | 921 # conversion depending on the case. However, a lot of code still needs to be |
924 # fixed. Apply this config to such targets to disable the warning. | 922 # fixed. Apply this config to such targets to disable the warning. |
925 # | 923 # |
926 # Note that this can be applied regardless of platform and architecture to | 924 # Note that this can be applied regardless of platform and architecture to |
927 # clean up the call sites. This will only apply the flag when necessary. | 925 # clean up the call sites. This will only apply the flag when necessary. |
928 # | |
929 # TODO(jschuh): crbug.com/167187 fix this and delete this config. | |
930 config("no_size_t_to_int_warning") { | 926 config("no_size_t_to_int_warning") { |
931 if (is_win && current_cpu == "x64") { | 927 if (is_win && current_cpu == "x64") { |
932 cflags = [ "/wd4267" ] | 928 cflags = [ "/wd4267" ] |
933 } | 929 } |
934 } | 930 } |
935 | 931 |
936 # Optimization ----------------------------------------------------------------- | 932 # Optimization ----------------------------------------------------------------- |
937 # | 933 # |
938 # Note that BUILDCONFIG.gn sets up a variable "default_optimization_config" | 934 # Note that BUILDCONFIG.gn sets up a variable "default_optimization_config" |
939 # which it will assign to the config it implicitly applies to every target. If | 935 # which it will assign to the config it implicitly applies to every target. If |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1110 cflags += [ "-gsplit-dwarf" ] | 1106 cflags += [ "-gsplit-dwarf" ] |
1111 } | 1107 } |
1112 } | 1108 } |
1113 } | 1109 } |
1114 | 1110 |
1115 config("no_symbols") { | 1111 config("no_symbols") { |
1116 if (!is_win) { | 1112 if (!is_win) { |
1117 cflags = [ "-g0" ] | 1113 cflags = [ "-g0" ] |
1118 } | 1114 } |
1119 } | 1115 } |
OLD | NEW |