Fix MSVC compilation (#657)

* tell bazel not to pass strict options to a fancy compiler
 * fix signed-unsigned comparison warning found by MSVC
This commit is contained in:
Eugene Kliuchnikov 2018-03-29 10:37:07 +02:00 committed by GitHub
parent 0f3c84e745
commit c6333e1e79
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 16 deletions

35
BUILD
View File

@ -41,6 +41,12 @@ config_setting(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
) )
config_setting(
name = "msvc",
values = {"compiler": "msvc-cl"},
visibility = ["//visibility:public"],
)
genrule( genrule(
name = "copy_link_jni_header", name = "copy_link_jni_header",
srcs = ["@openjdk_linux//:jni_h"], srcs = ["@openjdk_linux//:jni_h"],
@ -73,19 +79,22 @@ cc_library(
# <<< JNI headers # <<< JNI headers
STRICT_C_OPTIONS = [ STRICT_C_OPTIONS = select({
"--pedantic-errors", ":msvc": [],
"-Wall", "//conditions:default": [
"-Wconversion", "--pedantic-errors",
"-Werror", "-Wall",
"-Wextra", "-Wconversion",
"-Wlong-long", "-Werror",
"-Wmissing-declarations", "-Wextra",
"-Wmissing-prototypes", "-Wlong-long",
"-Wno-strict-aliasing", "-Wmissing-declarations",
"-Wshadow", "-Wmissing-prototypes",
"-Wsign-compare", "-Wno-strict-aliasing",
] "-Wshadow",
"-Wsign-compare",
],
})
filegroup( filegroup(
name = "public_headers", name = "public_headers",

View File

@ -145,11 +145,11 @@ static BROTLI_INLINE void InitInsertCommand(Command* self, size_t insertlen) {
static BROTLI_INLINE uint32_t CommandRestoreDistanceCode( static BROTLI_INLINE uint32_t CommandRestoreDistanceCode(
const Command* self, const BrotliDistanceParams* dist) { const Command* self, const BrotliDistanceParams* dist) {
if ((self->dist_prefix_ & 0x3FF) < if ((self->dist_prefix_ & 0x3FFu) <
BROTLI_NUM_DISTANCE_SHORT_CODES + dist->num_direct_distance_codes) { BROTLI_NUM_DISTANCE_SHORT_CODES + dist->num_direct_distance_codes) {
return self->dist_prefix_ & 0x3FF; return self->dist_prefix_ & 0x3FFu;
} else { } else {
uint32_t dcode = self->dist_prefix_ & 0x3FF; uint32_t dcode = self->dist_prefix_ & 0x3FFu;
uint32_t nbits = self->dist_prefix_ >> 10; uint32_t nbits = self->dist_prefix_ >> 10;
uint32_t extra = self->dist_extra_; uint32_t extra = self->dist_extra_;
uint32_t postfix_mask = (1U << dist->distance_postfix_bits) - 1U; uint32_t postfix_mask = (1U << dist->distance_postfix_bits) - 1U;