New issue
Advanced search Search tips

Issue 710913 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

ClangToTAndroid64 failing with -Wshorten-64-to-32

Project Member Reported by h...@chromium.org, Apr 12 2017

Issue description

Not sure when this started; the bot was red for other reasons before.

From https://build.chromium.org/p/chromium.fyi/builders/ClangToTAndroid64/builds/615:

FAILED: obj/v8/test/cctest/cctest/test-assembler-arm64.o 
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/v8/test/cctest/cctest/test-assembler-arm64.o.d -DV8_DEPRECATION_WARNINGS -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DDISABLE_NACL -DSAFE_BROWSING_DB_REMOTE -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=\"300051\" -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION=r12b -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D__GNU_SOURCE=1 -D__compiler_offsetof=__builtin_offsetof -Dnan=__builtin_nan -Dsnprintf=snprintf -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_I18N_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_SNAPSHOT -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_TARGET_ARCH_ARM64 -I../.. -Igen -I../../v8/include -Igen/v8/include -I../../v8 -I../../v8/include -ffp-contract=off -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -fcolor-diagnostics -ffunction-sections -fno-short-enums --target=aarch64-linux-android -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -fno-omit-frame-pointer -gdwarf-3 -g1 --sysroot=../../third_party/android_tools/ndk/platforms/android-21/arch-arm64 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -fPIE -Wsign-compare -Winconsistent-missing-override -Wshorten-64-to-32 -O2 -fno-ident -fdata-sections -ffunction-sections -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include -fno-exceptions -c ../../v8/test/cctest/test-assembler-arm64.cc -o obj/v8/test/cctest/cctest/test-assembler-arm64.o
../../v8/test/cctest/test-assembler-arm64.cc:249:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:300:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:346:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:427:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:461:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:528:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:565:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:597:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:625:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:662:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:694:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:731:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:763:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:823:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:872:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:904:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:963:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:1000:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:1032:3: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
  SETUP();
  ^~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:113:17: note: expanded from macro 'SETUP'
#define SETUP() SETUP_SIZE(BUF_SIZE)
                ^~~~~~~~~~~~~~~~~~~~
../../v8/test/cctest/test-assembler-arm64.cc:183:37: note: expanded from macro 'SETUP_SIZE'
  MacroAssembler masm(isolate, buf, actual_size,               \
                 ~~~~               ^~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
 

Comment 1 by h...@chromium.org, Apr 12 2017

This reproduces with the currently pinned clang (and the one before), so it's not due to any recent clang change.

Comment 2 by h...@chromium.org, Apr 12 2017

Cc: machenb...@chromium.org
V8's test/cctest/test-assembler-arm64.cc hasn't changed since March

Aha! The build config changed: https://chromium-review.googlesource.com/c/474747/
Thanks for the fix! Guess this sneaked in while the warning was off.
Landing the CL, will take a few hours until it rolls into chromium.
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b2dc9230c14f3b1dd6e5231457a8d157c39b8489

commit b2dc9230c14f3b1dd6e5231457a8d157c39b8489
Author: hans <hans@chromium.org>
Date: Wed Apr 12 18:44:27 2017

Fix -Wshorten-64-to-32 in test-assembler-arm64.cc

The arm64 MacroAssembler expects buffer_size to be an unsigned, not a
size_t.

BUG= chromium:710913 

Review-Url: https://codereview.chromium.org/2818513002
Cr-Commit-Position: refs/heads/master@{#44623}

[modify] https://crrev.com/b2dc9230c14f3b1dd6e5231457a8d157c39b8489/test/cctest/test-assembler-arm64.cc

Comment 7 by h...@chromium.org, Apr 14 2017

Did the roll get reverted? This is firing again.
Cc: hablich@chromium.org
Yea - I think so. It's a panned rollback we always have at branch time. Is it important to have the fix in the beta branch?

@hablich: I assume we start rolling forward as soon as the branch is cut.
Wondering why I own android arm64 builder doesn't catch this: https://build.chromium.org/p/client.v8.ports/builders/V8%20Android%20Arm64%20-%20builder - where's the difference?

Comment 10 by h...@chromium.org, Apr 14 2017

That bot is not using clang. It seems this is a flag we only enable for clang: https://cs.chromium.org/chromium/src/v8/BUILD.gn?rcl=fe9bb7e6e251159852770160cfb21dad3cf03523&l=465

I didn't realize you roll thinks back before branching?

Anyway, it doesn't seem important for the beta branch, but would be nice to get into trunk.
Will get back to trunk soon when our auto-roller is turned on again. Might be delayed due to holidays here.

At branch time we always roll back to the version we actually branched from (usually around two days back, dependent on Canary quality).
This is rolled into Chromium btw.

Comment 13 by h...@chromium.org, Apr 19 2017

Status: Fixed (was: Started)
Thanks!

Sign in to add a comment