New issue
Advanced search Search tips

Issue 890307 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 922089



Sign in to add a comment

clang tot builds failing with -Wdefaulted-function-deleted

Project Member Reported by h...@chromium.org, Sep 28

Issue description

It's a new warning, added in r343285
 
Looking at a full debug build on Linux, shows 32 instance:

$ grep defaulted-function-deleted /tmp/build.log | sort -u
../../base/message_loop/message_loop_current.h:43:23: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../cc/paint/solid_color_analyzer.cc:155:5: warning: explicitly defaulted default constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../components/printing/common/print_messages.h:273:18: warning: explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../components/printing/common/print_messages.h:273:1: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../components/printing/common/print_messages.h:302:18: warning: explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../components/printing/common/print_messages.h:302:1: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../components/printing/common/print_messages.h:314:18: warning: explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../components/printing/common/print_messages.h:314:1: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../components/printing/common/print_messages.h:327:18: warning: explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../components/printing/common/print_messages.h:327:1: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../components/zucchini/disassembler.h:100:3: warning: explicitly defaulted default constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../content/browser/renderer_host/render_widget_targeter.cc:63:22: warning: explicitly defaulted move assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../extensions/browser/service_worker_task_queue.cc:73:30: warning: explicitly defaulted move assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../extensions/common/extension_messages.h:195:18: warning: explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../extensions/common/extension_messages.h:195:1: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../extensions/common/extension_messages.h:58:18: warning: explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../extensions/common/extension_messages.h:58:1: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../extensions/common/extension_messages.h:70:18: warning: explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../extensions/common/extension_messages.h:70:1: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../extensions/common/extension_messages.h:88:18: warning: explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../extensions/common/extension_messages.h:88:1: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../gpu/ipc/common/gpu_messages.h:68:18: warning: explicitly defaulted copy constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../gpu/ipc/common/gpu_messages.h:68:1: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../third_party/blink/renderer/core/loader/image_loader.h:257:5: warning: explicitly defaulted move constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../third_party/blink/renderer/core/loader/image_loader.h:262:20: warning: explicitly defaulted move assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../third_party/blink/renderer/modules/peerconnection/adapters/p2p_quic_transport_factory.h:36:27: warning: explicitly defaulted move assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../third_party/perfetto/src/tracing/core/patch_list.h:56:10: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../third_party/webrtc/modules/pacing/round_robin_packet_queue.h:70:5: warning: explicitly defaulted default constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../v8/src/reloc-info.h:405:18: warning: explicitly defaulted move assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../v8/src/wasm/baseline/liftoff-compiler.cc:111:36: warning: explicitly defaulted move constructor is implicitly deleted [-Wdefaulted-function-deleted]
../../v8/src/wasm/baseline/liftoff-compiler.cc:111:3: warning: explicitly defaulted move assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
../../v8/src/wasm/wasm-debug.cc:95:3: warning: explicitly defaulted move assignment operator is implicitly deleted [-Wdefaulted-function-deleted]


Probably enough to do the "disable new warning for ToT" dance.
build.log.gz
924 KB Download
Is it intentional that the warning fires twice on each line?

I agree that disabling and fixing async sounds like the right thing to do.
> Is it intentional that the warning fires twice on each line?

I think those are for when we default the move ctor and move assignment operator on the same line with a macro.
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/459edf4f594ec1f154784da9800efe1fedf86321

commit 459edf4f594ec1f154784da9800efe1fedf86321
Author: Hans Wennborg <hans@chromium.org>
Date: Fri Sep 28 15:07:30 2018

Suppress new Clang warning -Wdefaulted-function-deleted

Disable the warning until we clean it up.

Bug: 890307
Change-Id: I6fe7dc36bef54f5fec63d71efe6e300b95b6c362
Reviewed-on: https://chromium-review.googlesource.com/1251622
Commit-Queue: Hans Wennborg <hans@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595095}
[modify] https://crrev.com/459edf4f594ec1f154784da9800efe1fedf86321/build/config/compiler/BUILD.gn

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8488f525d97b1c261295d9daf78c38009867f7e6

commit 8488f525d97b1c261295d9daf78c38009867f7e6
Author: Hans Wennborg <hans@chromium.org>
Date: Tue Oct 02 13:18:06 2018

Fix -Wdefaulted-function-deleted warning

../../components/zucchini/disassembler.h:100:3: warning: explicitly defaulted
default constructor is implicitly deleted [-Wdefaulted-function-deleted]
  ReferenceGroup() = default;
  ^
../../components/zucchini/disassembler.h:144:23: note: default constructor of
'ReferenceGroup' is implicitly deleted because field 'traits_' has no default
constructor
  ReferenceTypeTraits traits_;
                      ^

Bug: 890307
Change-Id: Ic7ec04e175f4fb3cc9a32e6a43115485f671b72f
Reviewed-on: https://chromium-review.googlesource.com/1256805
Reviewed-by: Greg Thompson <grt@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595813}
[modify] https://crrev.com/8488f525d97b1c261295d9daf78c38009867f7e6/components/zucchini/disassembler.h

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f23bd074a190cae524af5d061d29e1e9ebf5eff

commit 9f23bd074a190cae524af5d061d29e1e9ebf5eff
Author: Hans Wennborg <hans@chromium.org>
Date: Tue Oct 02 15:10:34 2018

Fix -Wdefaulted-function-deleted warnings

../../third_party/blink/renderer/core/loader/image_loader.h:257:5: warning:
explicitly defaulted move constructor is implicitly deleted
[-Wdefaulted-function-deleted]
    DecodeRequest(DecodeRequest&&) = default;
    ^
../../third_party/blink/renderer/core/loader/image_loader.h:252:25: note: move
constructor of 'DecodeRequest' is implicitly deleted because base class
'GarbageCollected<blink::ImageLoader::DecodeRequest>' has a deleted move
constructor
  class DecodeRequest : public GarbageCollected<DecodeRequest> {
                        ^
../../third_party/blink/renderer/core/loader/image_loader.h:262:20: warning:
explicitly defaulted move assignment operator is implicitly deleted
[-Wdefaulted-function-deleted]
    DecodeRequest& operator=(DecodeRequest&&) = default;
                   ^
../../third_party/blink/renderer/core/loader/image_loader.h:252:25: note: move
assignment operator of 'DecodeRequest' is implicitly deleted because base class
'GarbageCollected<blink::ImageLoader::DecodeRequest>' has a deleted move
assignment operator
  class DecodeRequest : public GarbageCollected<DecodeRequest> {

../../third_party/blink/renderer/modules/peerconnection/adapters/p2p_quic_transport_factory.h:36:27:
warning: explicitly defaulted move assignment operator is implicitly deleted
[-Wdefaulted-function-deleted]
  P2PQuicTransportConfig& operator=(P2PQuicTransportConfig&&) = default;
                          ^
../../third_party/blink/renderer/modules/peerconnection/adapters/p2p_quic_transport_factory.h:41:33:
note: move assignment operator of 'P2PQuicTransportConfig' is implicitly
deleted because field 'packet_transport' is of const-qualified type
'blink::P2PQuicPacketTransport *const'
  P2PQuicPacketTransport* const packet_transport;
                                ^

Bug: 890307
Change-Id: I5bcb4e343ae96f26d20f1e772d1442d1edbdb105
Reviewed-on: https://chromium-review.googlesource.com/1256942
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595840}
[modify] https://crrev.com/9f23bd074a190cae524af5d061d29e1e9ebf5eff/third_party/blink/renderer/core/loader/image_loader.h
[modify] https://crrev.com/9f23bd074a190cae524af5d061d29e1e9ebf5eff/third_party/blink/renderer/modules/peerconnection/adapters/p2p_quic_transport_factory.h

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/91fe99136cd57a8eab9c076e4e1699767bcac3fa

commit 91fe99136cd57a8eab9c076e4e1699767bcac3fa
Author: Hans Wennborg <hans@chromium.org>
Date: Tue Oct 02 16:25:34 2018

Fix -Wdefaulted-function-deleted warning in MessageLoopCurrent

The new Clang warning points out that the class can't be copy
assigned because the current_ member is const. Copy or move
constructing it is fine though, and that's all that's needed.

Bug: 890307
Change-Id: I3f4d5e69485b84166ba4dd2356cc7973a5e58da6
Reviewed-on: https://chromium-review.googlesource.com/1255613
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595867}
[modify] https://crrev.com/91fe99136cd57a8eab9c076e4e1699767bcac3fa/base/message_loop/message_loop_current.h

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 3

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

commit fe0336d54034c02856cd386af74057e815abdd82
Author: Hans Wennborg <hans@chromium.org>
Date: Wed Oct 03 07:21:48 2018

Fix -Wdefaulted-function-deleted warning

../../extensions/browser/service_worker_task_queue.cc:77:21: note: move
assignment operator of 'WaitingDidStartWorkerTask' is implicitly deleted
because field 'extension_id' has no move assignment operator
  const ExtensionId extension_id;
                    ^

Bug: 890307
Change-Id: Ifb5eac24bd150c9a20d170f0ef084334abfb6601
Reviewed-on: https://chromium-review.googlesource.com/c/1256807
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596139}
[modify] https://crrev.com/fe0336d54034c02856cd386af74057e815abdd82/extensions/browser/service_worker_task_queue.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9d3c153f42ce7228a92fc0c195f4269672fc6660

commit 9d3c153f42ce7228a92fc0c195f4269672fc6660
Author: Hans Wennborg <hans@chromium.org>
Date: Wed Oct 03 07:22:18 2018

Fix -Wdefaulted-function-deleted warning

../../content/browser/renderer_host/render_widget_targeter.cc:63:22: warning:
explicitly defaulted move assignment operator is implicitly deleted
[-Wdefaulted-function-deleted]
  TracingUmaTracker& operator=(TracingUmaTracker&& tracker) = default;
                     ^
../../content/browser/renderer_host/render_widget_targeter.cc:73:13: note: move
assignment operator of 'TracingUmaTracker' is implicitly deleted because field
'id_' is of const-qualified type 'const int'
  const int id_;
            ^

Bug: 890307
Change-Id: I233c101f236053f02ec3affb9ea2b4655ad98d49
Reviewed-on: https://chromium-review.googlesource.com/c/1256922
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596140}
[modify] https://crrev.com/9d3c153f42ce7228a92fc0c195f4269672fc6660/content/browser/renderer_host/render_widget_targeter.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 3

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/f9d38f2e4e5d87f3a1be0711b385d9809c9281f8

commit f9d38f2e4e5d87f3a1be0711b385d9809c9281f8
Author: Hans Wennborg <hans@chromium.org>
Date: Wed Oct 03 12:57:10 2018

Fix -Wdefaulted-function-deleted warning in StreamPrioKey

../../third_party/webrtc/modules/pacing/round_robin_packet_queue.h:70:5:
warning: explicitly defaulted default constructor is implicitly deleted
[-Wdefaulted-function-deleted]
    StreamPrioKey() = default;
    ^
../../third_party/webrtc/modules/pacing/round_robin_packet_queue.h:80:37: note:
default constructor of 'StreamPrioKey' is implicitly deleted because field
'priority' of const-qualified type 'const RtpPacketSender::Priority' would not
be initialized
    const RtpPacketSender::Priority priority;
                                    ^

Bug: chromium:890307
Change-Id: I58f21121fc9083a60ba1ad26492fdca6285d0447
Reviewed-on: https://webrtc-review.googlesource.com/c/103181
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24952}
[modify] https://crrev.com/f9d38f2e4e5d87f3a1be0711b385d9809c9281f8/modules/pacing/round_robin_packet_queue.h

Project Member

Comment 15 by bugdroid1@chromium.org, Oct 3

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

commit cb8d93e13d11d47a1ad9196f3dbe2b12bdbc3376
Author: Hans Wennborg <hans@chromium.org>
Date: Wed Oct 03 15:42:01 2018

Fix -Wdefaulted-function-deleted warnings

This is part of clean-up for a new Clang warning that we'd like to
enable. This patch addresses all warnings from V8 that I saw in a full debug
build of Chromium on Linux.

../../v8/src/reloc-info.h:405:18: warning: explicitly defaulted move assignment
operator is implicitly deleted [-Wdefaulted-function-deleted]
  RelocIterator& operator=(RelocIterator&&) = default;
                 ^
../../v8/src/reloc-info.h:447:13: note: move assignment operator of
'RelocIterator' is implicitly deleted because field 'mode_mask_' is of
const-qualified type 'const int'
  const int mode_mask_;
            ^

../../v8/src/wasm/baseline/liftoff-compiler.cc:111:36: warning: explicitly
defaulted move constructor is implicitly deleted [-Wdefaulted-function-deleted]
  MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR(LiftoffCompiler);
                                   ^
../../v8/src/wasm/baseline/liftoff-compiler.cc:1834:20: note: move constructor
of 'LiftoffCompiler' is implicitly deleted because field 'asm_' has a deleted
move constructor
  LiftoffAssembler asm_;
                   ^

../../v8/src/wasm/wasm-debug.cc:95:3: warning: explicitly defaulted move
assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
  MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR(InterpreterHandle);
  ^
../../v8/src/wasm/wasm-debug.cc:98:19: note: move assignment operator of
'InterpreterHandle' is implicitly deleted because field 'interpreter_' has a
deleted move assignment operator
  WasmInterpreter interpreter_;
                  ^
../../v8/src/wasm/wasm-interpreter.h:211:35: note: copy assignment operator of
'WasmInterpreter' is implicitly deleted because field 'internals_' is of
const-qualified type 'v8::internal::wasm::WasmInterpreterInternals *const'
  WasmInterpreterInternals* const internals_;
                                  ^

Bug: chromium:890307
Change-Id: Idfc5827f24821212081a006c4329c466c4576bcc
Reviewed-on: https://chromium-review.googlesource.com/c/1256863
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56351}
[modify] https://crrev.com/cb8d93e13d11d47a1ad9196f3dbe2b12bdbc3376/src/reloc-info.h
[modify] https://crrev.com/cb8d93e13d11d47a1ad9196f3dbe2b12bdbc3376/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/cb8d93e13d11d47a1ad9196f3dbe2b12bdbc3376/src/wasm/wasm-interpreter.h

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/187565cbaabc2d2b503fb278f0caac664b6d58eb

commit 187565cbaabc2d2b503fb278f0caac664b6d58eb
Author: Hans Wennborg <hans@chromium.org>
Date: Wed Oct 03 16:09:04 2018

Fix -Wdefaulted-function-deleted warning

../../cc/paint/solid_color_analyzer.cc:155:5: warning: explicitly defaulted
default constructor is implicitly deleted [-Wdefaulted-function-deleted]
    Frame() = default;
    ^
../../cc/paint/solid_color_analyzer.cc:161:38: note: default constructor of
'Frame' is implicitly deleted because field 'iter' has no default constructor
    PaintOpBuffer::CompositeIterator iter;
                                     ^

Bug: 890307
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I9e4cb20394a603e43e3a62264189da29f01da20a
Reviewed-on: https://chromium-review.googlesource.com/c/1256827
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596240}
[modify] https://crrev.com/187565cbaabc2d2b503fb278f0caac664b6d58eb/cc/paint/solid_color_analyzer.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Oct 3

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

commit a2056611ca7d81b33c020955fa8d9463784e264a
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Wed Oct 03 16:56:52 2018

Roll src/third_party/webrtc d136b2884e0d..f9d38f2e4e5d (2 commits)

https://webrtc.googlesource.com/src.git/+log/d136b2884e0d..f9d38f2e4e5d


git log d136b2884e0d..f9d38f2e4e5d --date=short --no-merges --format='%ad %ae %s'
2018-10-03 hans@chromium.org Fix -Wdefaulted-function-deleted warning in StreamPrioKey
2018-10-03 saza@webrtc.org Replace leftover usage of old AEC interfaces


Created with:
  gclient setdep -r src/third_party/webrtc@f9d38f2e4e5d

The AutoRoll server is located here: https://autoroll.skia.org/r/webrtc-chromium-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux_chromium_archive_rel_ng;luci.chromium.try:mac_chromium_archive_rel_ng

BUG=chromium:890307
TBR=webrtc-chromium-sheriffs-robots@google.com

Change-Id: I4c21e96c13d25cbcf65df39270276bac705b9cf2
Reviewed-on: https://chromium-review.googlesource.com/1257718
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#596255}
[modify] https://crrev.com/a2056611ca7d81b33c020955fa8d9463784e264a/DEPS

All the patches above have landed (though the V8 change hasn't rolled into Chromium yet).

Here is the final piece: https://chromium-review.googlesource.com/c/chromium/src/+/1261082

With that I get through a full debug build on Linux.
Hello, I wonder if "-Wno-defaulted-function-deleted" is being used for a while. Because it has been generating below warning message when I built Chromium by using icecc and jumbo.

warning: unknown warning option '-Wno-defaulted-function-deleted'; did you mean '-Wno-bad-function-cast'? [-Wunknown-warning-option]
1 warning generated.
Is your clang out of date? What's the output of `third_party/llvm-build/Release+Asserts/bin/clang --version`?
I'm sorry for a too late reply. When I run the command, I got this output.


~/chromium/src$ third_party/llvm-build/Release+Asserts/bin/clang --version
clang version 7.0.0 (trunk 338452)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/gyuyoung/chromium/src/third_party/llvm-build/Release+Asserts/bin

I still get the warning message after running the command on the ToT.

clang version 8.0.0 (trunk 344066)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/gyuyoung/chromium/src/third_party/llvm-build/Release+Asserts/bin

The flag was added in 343285, so I'd expect you to get the warning with the revision in comment 21 but not with the one in comment 22. Maybe you didn't fully `gclient sync` or something?
The warning still happens on the ToT. But I've been using icecc to build Chromium with below configurations. Probably it might influence the warning generation.

is_component_build=true
enable_nacl=false
treat_warnings_as_errors=false
proprietary_codecs=true
ffmpeg_branding="Chrome"
linux_use_bundled_binutils=false
clang_use_chrome_plugins=false
cc_wrapper="ccache"
ffmpeg_use_atomics_fallback=true
use_jumbo_build=true
google_api_key="???"
google_default_client_id="??.com"
google_default_client_secret="??"
dcheck_always_on=true

Does it happen without icecc too? If not, it might be an icecc bug?
yes, it still happens when I built Chromium without icecc. 

/xdg_mime/xdg_mime/xdgmime.o
error: unknown warning option '-Wno-defaulted-function-deleted'; did you mean '-Wno-bad-function-cast'? [-Werror,-Wunknown-warning-option]

BTW, I'm using Ubuntu 17.04. Can the version influence on this issue?

Can you paste the full failing command?
I'm using this configuration.
= configuration =
is_component_build=true enable_nacl=false treat_warnings_as_errors=false proprietary_codecs=true ffmpeg_branding="Chrome" linux_use_bundled_binutils=false clang_use_chrome_plugins=false cc_wrapper="ccache" ffmpeg_use_atomics_fallback=true use_jumbo_build=true google_api_key="???" google_default_client_id="??.com" google_default_client_secret="??" dcheck_always_on=true

= build =
ninja -C out/Debug chrome
Understood, but ninja prints the failing compile command above the error: line. Can you paste that too?
Taking a stab at doing the final clean-up for this again: https://chromium-review.googlesource.com/c/chromium/src/+/1340323
Project Member

Comment 31 by bugdroid1@chromium.org, Nov 16

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

commit df8eed78e0450171ce5b40b5e66c1a9756097904
Author: Hans Wennborg <hans@chromium.org>
Date: Fri Nov 16 22:31:44 2018

Fix -Wdefaulted-function-deleted warning

This is part of cleaning up for a new Clang warning that's currently disabled:

../../chrome/chrome_cleaner/scanner/urza_scanner_impl_unittest.cc(121,3):
error: explicitly defaulted default constructor is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
  TestScanner() = default;
  ^
../../chrome/chrome_cleaner/scanner/urza_scanner_impl_unittest.cc(119,21):
note: default constructor of 'TestScanner' is implicitly deleted because base
class 'chrome_cleaner::UrzaScannerImpl' has no default constructor
class TestScanner : public UrzaScannerImpl {
                    ^

Bug: 890307
Change-Id: I0ae013e278b85ae3ea706b1ecb716d5382a32132
Reviewed-on: https://chromium-review.googlesource.com/c/1340316
Commit-Queue: Joe Mason <joenotcharles@chromium.org>
Reviewed-by: Chris Sharp <csharp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608996}
[modify] https://crrev.com/df8eed78e0450171ce5b40b5e66c1a9756097904/chrome/chrome_cleaner/scanner/urza_scanner_impl_unittest.cc

Project Member

Comment 32 by bugdroid1@chromium.org, Nov 19

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

commit b380e5d7324864fc5c60eca905be80d54c7a787b
Author: Hans Wennborg <hans@chromium.org>
Date: Mon Nov 19 10:01:53 2018

Fix -Wdefaulted-function-deleted warning

This is part of cleaning up for a new Clang warning that's currently disabled:

In file included from ../../ash/app_list/home_launcher_gesture_handler.cc:19:
../../ash/wm/window_transient_descendant_iterator.h:69:43: error: explicitly
defaulted copy assignment operator is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
  WindowTransientDescendantIteratorRange& operator=(
                                          ^
../../ash/wm/window_transient_descendant_iterator.h:72:37: note: copy
assignment operator of 'WindowTransientDescendantIteratorRange' is implicitly
deleted because field 'begin_' has an inaccessible copy assignment operator
  WindowTransientDescendantIterator begin_;
                                    ^

Bug: 890307
Change-Id: Ic47bc989f9fe26e1387f9a6a8c00f19fcf6b91ce
Reviewed-on: https://chromium-review.googlesource.com/c/1340331
Commit-Queue: Hans Wennborg <hans@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609220}
[modify] https://crrev.com/b380e5d7324864fc5c60eca905be80d54c7a787b/ash/wm/window_transient_descendant_iterator.h

Project Member

Comment 33 by bugdroid1@chromium.org, Nov 22

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

commit b6f010b107495bd0487353edfb379c441c9969b6
Author: Hans Wennborg <hans@chromium.org>
Date: Thu Nov 22 07:26:07 2018

IPC_STRUCT_BEGIN: Don't explicitly default copy constructors etc

The classes may not actually be copyable, copy-assignable, etc. Previously the
compiler would not complain until trying to *use* the defaulted ctor/operator,
but the new -Wdefaulted-function-deleted warning warns about this up front.

(As a concrete example, ExtensionMsg_TabConnectionInfo isn't copy-assignable
because of base::DictionaryValue member, which is a base::Value, which can't
be copied.)

To ensure these structs are still movable, remove the user-declared destructor.
This is also a simplification in that it removes all the code that was necessary
to define that destructor out-of-line.

Bug: 890307
Change-Id: I27ec3a0639bdeb94776acdd78b173791d0b8162d
Reviewed-on: https://chromium-review.googlesource.com/c/1261082
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610331}
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/android_webview/common/android_webview_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/chrome/common/apps/platform_apps/chrome_apps_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/chrome/common/common_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/chrome/common/importer/profile_import_process_param_traits.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/chromecast/common/extensions_api/cast_extension_messages.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/components/cdm/common/cdm_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/components/guest_view/common/guest_view_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/components/nacl/common/nacl_host_messages.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/components/nacl/common/nacl_messages.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/components/nacl/common/nacl_types_param_traits.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/components/network_hints/common/network_hints_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/components/printing/common/print_messages.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/components/subresource_filter/content/common/subresource_filter_message_generator.h
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/components/tracing/common/tracing_messages.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/content/common/content_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/content/shell/common/layout_test/layout_test_messages.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/content/shell/common/shell_messages.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/extensions/common/extension_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/gpu/ipc/common/gpu_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/ipc/BUILD.gn
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/ipc/ipc_channel_proxy_unittest.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/ipc/ipc_message_macros.h
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/ipc/ipc_test_message_generator.cc
[delete] https://crrev.com/7ede47e3b1552739bc556b038ebbef082cf5fcce/ipc/struct_destructor_macros.h
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/media/gpu/ipc/common/media_message_generator.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/ppapi/proxy/ppapi_messages.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/remoting/host/chromoting_messages.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/services/network/public/cpp/net_ipc_param_traits.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/services/network/public/cpp/network_ipc_param_traits.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/services/network/public/cpp/p2p_param_traits.cc
[modify] https://crrev.com/b6f010b107495bd0487353edfb379c441c9969b6/ui/ozone/common/gpu/ozone_gpu_message_generator.cc

Project Member

Comment 34 by bugdroid1@chromium.org, Nov 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/95cfe8369435fcc22ceb1d8573bf22cdc68462c8

commit 95cfe8369435fcc22ceb1d8573bf22cdc68462c8
Author: Hans Wennborg <hans@chromium.org>
Date: Thu Nov 22 11:05:30 2018

Enable -Wdefaulted-function-deleted

The warning still fires when targeting Fuchsia, but the rest should be clean
now.

Bug: 890307
Change-Id: I65db88d025b3d4744f43d5a742fbb4cdb3ae6d40
Reviewed-on: https://chromium-review.googlesource.com/c/1347279
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610374}
[modify] https://crrev.com/95cfe8369435fcc22ceb1d8573bf22cdc68462c8/build/config/compiler/BUILD.gn

Project Member

Comment 35 by bugdroid1@chromium.org, Nov 22

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

commit fb3425c9da260314d37fd0dcb4a09496890d1b83
Author: Hans Wennborg <hans@chromium.org>
Date: Thu Nov 22 13:59:05 2018

Fix -Wdefaulted-function-deleted in fuchsia_video_decoder.cc

Previous Clang versions would only error about a defaulted function
being deleted when they're *used*. This warning highlights the problem
up-front.

../../media/filters/fuchsia/fuchsia_video_decoder.cc:156:3: error: explicitly
defaulted move constructor is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
  InputBuffer(InputBuffer&& other) = default;
  ^
../../media/filters/fuchsia/fuchsia_video_decoder.cc:202:15: note: move
constructor of 'InputBuffer' is implicitly deleted because field 'buffer_' has
a deleted move constructor
  CodecBuffer buffer_;
              ^
../../media/filters/fuchsia/fuchsia_video_decoder.cc:147:28: note:
'CodecBuffer' has been explicitly marked deleted here
  DISALLOW_COPY_AND_ASSIGN(CodecBuffer);
                           ^

../../media/filters/fuchsia/fuchsia_video_decoder.cc:221:3: error: explicitly
defaulted move constructor is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
  OutputBuffer(OutputBuffer&& other) = default;
  ^
../../media/filters/fuchsia/fuchsia_video_decoder.cc:217:22: note: move
constructor of 'OutputBuffer' is implicitly deleted because base class
'base::RefCountedThreadSafe<OutputBuffer>' has a deleted move constructor
class OutputBuffer : public base::RefCountedThreadSafe<OutputBuffer> {
                     ^
../../base/memory/ref_counted.h:425:28: note: 'RefCountedThreadSafe' has been
explicitly marked deleted here
  DISALLOW_COPY_AND_ASSIGN(RefCountedThreadSafe);
                           ^

Bug: 890307
Change-Id: I9f8751735e09cb3ec0f6f4c400f8964194bd8937
Reviewed-on: https://chromium-review.googlesource.com/c/1348031
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610403}
[modify] https://crrev.com/fb3425c9da260314d37fd0dcb4a09496890d1b83/media/filters/fuchsia/fuchsia_video_decoder.cc

>Understood, but ninja prints the failing compile command above the error: line. Can you paste that too?

I'm sorry for too late response. I was busy and on holidays. BTW, the error message was disappeared after https://bugs.chromium.org/p/chromium/issues/detail?id=890307. Because the option started to be enabled only on fuchsia OS. Thanks a lot!
Looks like this is turning up in swiftshader on ARM too:

FAILED: obj/third_party/swiftshader/third_party/llvm-7.0/swiftshader_llvm/OrcCBindings.o ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/swiftshader/third_party/llvm-7.0/swiftshader_llvm/OrcCBindings.o.d -DV8_DEPRECATION_WARNINGS -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DCR_CLANG_REVISION=\"346388-5\" -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=344254 -DCR_LIBCXXABI_REVISION=344215 -D_LIBCPP_ENABLE_NODISCARD -DCR_SYSROOT_HASH=2961cef580d6be189c506843e3b585216394a7c2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DNO_SANITIZE_FUNCTION=__attribute__\(\(no_sanitize\(\"function\"\)\)\) -DANGLE_DISABLE_TRACE -DNDEBUG -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/include -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/Target/AArch64 -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/Target/ARM -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/Target/Mips -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/Target/X86 -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/include -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/IR -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Target/AArch64 -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Target/ARM -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Target/Mips -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Target/X86 -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Transforms/InstCombine -I../../third_party/swiftshader/third_party/llvm-7.0/configs/linux/include -I../.. -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -no-canonical-prefixes -fcomplete-member-pointers --target=aarch64-linux-gnu -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang enforce-in-thirdparty-webkit -Xclang -plugin-arg-find-bad-constructs -Xclang check-enum-max-value -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Werror -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-null-pointer-arithmetic -Wno-ignored-pragma-optimize -std=c++11 -fno-exceptions -fno-operator-names -ffunction-sections -fdata-sections -fomit-frame-pointer -Os -Wno-header-hygiene -Wno-attributes -Wno-deprecated-declarations -Wno-enum-compare -Wno-unused-function -Wno-unused-local-typedef -Wno-unused-private-field -Wno-unused-result -Wno-unused-variable -Wno-error=header-hygiene -std=c++14 -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_sid_arm64-sysroot -fvisibility-inlines-hidden -c ../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/ExecutionEngine/Orc/OrcCBindings.cpp -o obj/third_party/swiftshader/third_party/llvm-7.0/swiftshader_llvm/OrcCBindings.o
In file included from ../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/ExecutionEngine/Orc/OrcCBindings.cpp:10:
In file included from ../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h:19:
In file included from ../../third_party/swiftshader/third_party/llvm-7.0/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h:23:
In file included from ../../third_party/swiftshader/third_party/llvm-7.0/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h:21:
../../third_party/swiftshader/third_party/llvm-7.0/llvm/include/llvm/ExecutionEngine/Orc/Core.h:129:3: error: explicitly defaulted move assignment operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
  operator=(MaterializationResponsibility &&) = default;
  ^
../../third_party/swiftshader/third_party/llvm-7.0/llvm/include/llvm/ExecutionEngine/Orc/Core.h:193:8: note: move assignment operator of 'MaterializationResponsibility' is implicitly deleted because field 'V' is of reference type 'llvm::orc::VSO &'
  VSO &V;
       ^

Comment 38 by capn@chromium.org, Jan 16 (6 days ago)

Blockedon: 922089

Sign in to add a comment