about summary refs log tree commit diff
path: root/absl/copts.bzl
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2017-12-22T03·39-0800
committerXiaoyi Zhang <zhangxy988@gmail.com>2017-12-22T20·08-0500
commit17cde19a0f8c939524295d27c3774186ac9a1d29 (patch)
tree5e10511803413133dc4b0a6b85663a624ea5e9e0 /absl/copts.bzl
parentff7045647330f5dc21725a42456091207f3eecd5 (diff)
Changes imported from Abseil "staging" branch:
  - f13b203bb87afd3a9330030fb97a1318083d8618 Fix SubstituteTest under C++17 with libc++. by Derek Mauro <dmauro@google.com>
  - c551cdf6f70afac3f8ca143f4837f2187715eea9 Fix ABSL_HAVE_THREAD_LOCAL macro for Apple platforms. by Abseil Team <absl-team@google.com>
  - 931020efc43c184c4124975f50a02b377d960f9d Add Abseil Compilers Guide by Tom Manshreck <shreck@google.com>
  - 658f924ca7136c7994290955c5666b60da6ca5b9 Reimplement the SFINAE for allocator_traits::rebind to av... by Abseil Team <absl-team@google.com>
  - 4cb04fa739f70dd5ad0c8421ff4c444645136c7f Fix minor spelling error of 'returning'. by Abseil Team <absl-team@google.com>

GitOrigin-RevId: f13b203bb87afd3a9330030fb97a1318083d8618
Change-Id: I8573087795a50f8cc8367b0af1aedfbd2a89a793
Diffstat (limited to 'absl/copts.bzl')
-rw-r--r--absl/copts.bzl26
1 files changed, 18 insertions, 8 deletions
diff --git a/absl/copts.bzl b/absl/copts.bzl
index fa111a00f15b..20c9b6190dc9 100644
--- a/absl/copts.bzl
+++ b/absl/copts.bzl
@@ -10,7 +10,6 @@ GCC_FLAGS = [
     "-Wcast-qual",
     "-Wconversion-null",
     "-Wmissing-declarations",
-    "-Wno-sign-compare",
     "-Woverlength-strings",
     "-Wpointer-arith",
     "-Wunused-local-typedefs",
@@ -18,6 +17,9 @@ GCC_FLAGS = [
     "-Wvarargs",
     "-Wvla",  # variable-length array
     "-Wwrite-strings",
+    # Google style does not use unsigned integers, though STL containers
+    # have unsigned types.
+    "-Wno-sign-compare",
 ]
 
 GCC_TEST_FLAGS = [
@@ -34,36 +36,43 @@ GCC_TEST_FLAGS = [
 # Docs on groups of flags is preceded by ###.
 
 LLVM_FLAGS = [
+    # All warnings are treated as errors by implicit -Werror flag
     "-Wall",
     "-Wextra",
     "-Weverything",
     # Abseil does not support C++98
     "-Wno-c++98-compat-pedantic",
-    "-Wno-comma",
     # Turns off all implicit conversion warnings. Most are re-enabled below.
     "-Wno-conversion",
     "-Wno-covered-switch-default",
     "-Wno-deprecated",
     "-Wno-disabled-macro-expansion",
     "-Wno-double-promotion",
-    "-Wno-exit-time-destructors",
+    ###
+    # Turned off as they include valid C++ code.
+    "-Wno-comma",
     "-Wno-extra-semi",
+    "-Wno-packed",
+    "-Wno-padded",
+    ###
     "-Wno-float-conversion",
     "-Wno-float-equal",
     "-Wno-format-nonliteral",
-    # Too aggressive: warns on Clang extensions enclosed in Clang-only code paths.
+    # Too aggressive: warns on Clang extensions enclosed in Clang-only
+    # compilation paths.
     "-Wno-gcc-compat",
+    ###
+    # Some internal globals are necessary. Don't do this at home.
     "-Wno-global-constructors",
+    "-Wno-exit-time-destructors",
+    ###
     "-Wno-nested-anon-types",
     "-Wno-non-modular-include-in-module",
     "-Wno-old-style-cast",
-    "-Wno-packed",
-    "-Wno-padded",
     # Warns on preferred usage of non-POD types such as string_view
     "-Wno-range-loop-analysis",
     "-Wno-reserved-id-macro",
     "-Wno-shorten-64-to-32",
-    "-Wno-sign-conversion",
     "-Wno-switch-enum",
     "-Wno-thread-safety-negative",
     "-Wno-undef",
@@ -84,6 +93,7 @@ LLVM_FLAGS = [
     "-Wnon-literal-null-conversion",
     "-Wnull-conversion",
     "-Wobjc-literal-conversion",
+    "-Wno-sign-conversion",
     "-Wstring-conversion",
     ###
 ]
@@ -108,7 +118,7 @@ LLVM_TEST_FLAGS = [
 MSVC_FLAGS = [
     "/W3",
     "/WX",
-    "/wd4005",  # macro-redifinition
+    "/wd4005",  # macro-redefinition
     "/wd4068",  # unknown pragma
     "/wd4244",  # conversion from 'type1' to 'type2', possible loss of data
     "/wd4267",  # conversion from 'size_t' to 'type', possible loss of data