ClangToT bots failing with static_assert |
||||
Issue descriptionFrom https://build.chromium.org/p/chromium.fyi/builders/ClangToTLinux/builds/9093: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/base/base_nocompile_tests/bind_unittest_nc.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=\"313357\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCOMPONENT_BUILD -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DGTEST_API_= -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=1 -DUNIT_TEST -I../.. -Igen -I../../build/linux/debian_jessie_amd64-sysroot/usr/include/glib-2.0 -I../../build/linux/debian_jessie_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -I../../third_party/googletest/src/googletest/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -pthread -fcolor-diagnostics -m64 -march=x86-64 -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 -Wno-enum-compare-switch -Wno-tautological-unsigned-zero-compare -O2 -fno-ident -fdata-sections -ffunction-sections -fomit-frame-pointer -g2 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -std=gnu++14 -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_jessie_amd64-sysroot -fno-exceptions -fvisibility-inlines-hidden -c gen/base/bind_unittest_nc.cc -o obj/base/base_nocompile_tests/bind_unittest_nc.o gen/base/bind_unittest_nc.cc:18:2: error: "NCTEST_CONST_POINTER Failed: Expectations [r'fatal error: static_assert failed \"Bound argument \|i\| of type \|Arg\| cannot be forwarded as \|Unwrapped\| to the bound functor, which declares it as \|Param\|\.\"'] did not match output." #error "NCTEST_CONST_POINTER Failed: Expectations [r'fatal error: static_assert failed \"Bound argument \|i\| of type \|Arg\| cannot be forwarded as \|Unwrapped\| to the bound functor, which declares it as \|Param\|\.\"'] did not match output." ^
,
Sep 15 2017
r313315 looks related, and the blame range is larger because 9092 failed for other reasons, right?
,
Sep 15 2017
I think the nocompile expectations just need to be updated. The error is now: fatal error: static_assert failed due to requirement 'param_is_forwardable' "..." But the nocompile expectation is looking for: fatal error: static_assert failed "..."
,
Sep 15 2017
> r313315 looks related, and the blame range is larger because 9092 failed for other reasons, right? Ah, yes. For some reason, this doesn't repro locally for me. I must be holding it wrong somehow..
,
Sep 15 2017
Aha, the nocompile tests don't respect clang_base_path: https://cs.chromium.org/chromium/src/tools/nocompile_driver.py?rcl=07a8b4129c235bf171061472ca683a662fd9b316&l=214 # TODO(ajwong): Get the compiler from gyp. cmdline = [os.path.join(os.path.dirname(os.path.realpath(__file__)), '../third_party/llvm-build/Release+Asserts/bin', 'clang++')]
,
Sep 15 2017
,
Sep 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8023548f9723803b7b2dfdcb0cc2020011ea7867 commit 8023548f9723803b7b2dfdcb0cc2020011ea7867 Author: Hans Wennborg <hans@chromium.org> Date: Fri Sep 15 18:34:51 2017 Fix base_nocompile_tests after Clang's static_assert wording changed After Clang r313315, the static_assert errors look like: fatal error: static_assert failed due to requirement 'param_is_forwardable' "Bound argument |i| of type |Arg| cannot be forwarded as [..] instead of the previously expected: fatal error: static_assert failed "Bound argument |i| of type |Arg| cannot be forwarded as [..] Since the test needs to work with both tip-of-tree and the currently pinned version of Clang, add a regex to the expectations to make them match both cases. TBR=dcheng Bug: 765692 Change-Id: I6271fcdb8f346ffd359dd98f4bfcb32f5fdc9480 Reviewed-on: https://chromium-review.googlesource.com/668572 Reviewed-by: Hans Wennborg <hans@chromium.org> Commit-Queue: Hans Wennborg <hans@chromium.org> Cr-Commit-Position: refs/heads/master@{#502315} [modify] https://crrev.com/8023548f9723803b7b2dfdcb0cc2020011ea7867/base/bind_unittest.nc [modify] https://crrev.com/8023548f9723803b7b2dfdcb0cc2020011ea7867/base/memory/ref_counted_unittest.nc [modify] https://crrev.com/8023548f9723803b7b2dfdcb0cc2020011ea7867/base/memory/weak_ptr_unittest.nc
,
Sep 15 2017
,
Sep 20 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by h...@chromium.org
, Sep 15 2017