Index: BUILD.gn |
diff --git a/BUILD.gn b/BUILD.gn |
index e56e07b75452b1b5e10711f4a24c222442051f86..0378eb6677d41c1a8a1db121ff3ae59bb0b4312b 100644 |
--- a/BUILD.gn |
+++ b/BUILD.gn |
@@ -67,16 +67,29 @@ config("icu_code") { |
} |
if (is_clang) { |
cflags += [ |
+ # ICU uses its own deprecated functions. |
"-Wno-deprecated-declarations", |
+ # ICU prefers `a && b || c` over `(a && b) || c`. |
"-Wno-logical-op-parentheses", |
+ # ICU has some `unsigned < 0` checks. |
"-Wno-tautological-compare", |
+ # uresdata.c has switch(RES_GET_TYPE(x)) code. The |
+ # RES_GET_TYPE macro returns an UResType enum, but some switch |
+ # statement contains case values that aren't part of that |
+ # enum (e.g. URES_TABLE32 which is in UResInternalType). This |
+ # is on purpose. |
"-Wno-switch", |
+ # ICU has some code with the pattern: |
+ # if (found = uprv_getWindowsTimeZoneInfo(...)) |
"-Wno-parentheses", |
# ICU generally has no unused variables, but there are a few places where |
# this warning triggers. |
# See https://codereview.chromium.org/1222643002/ and |
# http://www.icu-project.org/trac/ticket/11759. |
"-Wno-unused-const-variable", |
+ # ucnv2022.cpp contains three functions that are only used when |
+ # certain preprocessor defines are set. |
+ "-Wno-unused-function", |
] |
if (is_win) { |
cflags += [ |