Build failed on Linux with GCC in V8WindowPartial.cpp |
|||
Issue descriptionThis has been found doing local build with GCC. It seems to be a regression caused by this: commit f3ce2901174c13c13a318dc68f5473cad413199b Author: Yuta Kitamura <yutak@chromium.org> Date: Thu Nov 9 09:02:40 2017 +0000 Split WTF::CrossThreadFunction out of WTF::Function. This patch is largely based on tzik's WIP patch: https://chromium-review.googlesource.com/c/chromium/src/+/746381 Bug: 771087 Change-Id: I973e7b567995371b72061903d6c267b08c2ec571 Reviewed-on: https://chromium-review.googlesource.com/759763 Reviewed-by: Taiju Tsuiki <tzik@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Yuta Kitamura <yutak@chromium.org> Cr-Commit-Position: refs/heads/master@{#515125} This is the build error log: In file included from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/HeapAllocator.h:10:0, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Handle.h:35, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/bindings/ActiveScriptWrappable.h:9, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/bindings/WrapperTypeInfo.h:35, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/bindings/V8PerContextData.h:42, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/bindings/ScriptState.h:12, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptValue.h:36, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ExceptionState.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/GeneratedCodeHelper.h:14, from gen/blink/bindings/modules/v8/V8WindowPartial.h:14, from gen/blink/bindings/modules/v8/V8WindowPartial.cpp:11: ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h: In instantiation of 'void blink::PersistentBase<T, weaknessConfiguration, crossThreadnessConfiguration>::TracePersistent(VisitorDispatcher) [with VisitorDispatcher = bli nk::Visitor*; T = blink::SQLTransactionBackend; blink::WeaknessPersistentConfiguration weaknessConfiguration = (blink::WeaknessPersistentConfiguration)0u; blink::CrossThreadnessPersistentConfiguration crossThreadnessConfiguration = (blink::CrossThreadnessPersistentConfigu ration)1u]': ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:223:64: required from 'void blink::PersistentBase<T, weaknessConfiguration, crossThreadnessConfiguration>::Initialize() [with T = blink::SQLTransactionBackend; blink::W eaknessPersistentConfiguration weaknessConfiguration = (blink::WeaknessPersistentConfiguration)0u; blink::CrossThreadnessPersistentConfiguration crossThreadnessConfiguration = (blink::CrossThreadnessPersistentConfiguration)1u]' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:46:15: required from 'blink::PersistentBase<T, weaknessConfiguration, crossThreadnessConfiguration>::PersistentBase() [with T = blink::SQLTransactionBackend; blink::Wea knessPersistentConfiguration weaknessConfiguration = (blink::WeaknessPersistentConfiguration)0u; blink::CrossThreadnessPersistentConfiguration crossThreadnessConfiguration = (blink::CrossThreadnessPersistentConfiguration)1u]' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:442:36: required from 'blink::CrossThreadPersistent<T>::CrossThreadPersistent() [with T = blink::SQLTransactionBackend]' /home/dape/Development/rpi/poky-pyro/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/chromium-ozone-igalia/64.0.3267.0.r515863.igalia.1-r0/recipe-sysroot/usr/include/c++/6.3.0/type_traits:1360:12: required from 'struct std::is_trivially_constructible<blink::Cros sThreadPersistent<blink::SQLTransactionBackend> >' /home/dape/Development/rpi/poky-pyro/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/chromium-ozone-igalia/64.0.3267.0.r515863.igalia.1-r0/recipe-sysroot/usr/include/c++/6.3.0/type_traits:1367:12: required from 'struct std::is_trivially_default_constructible<bli nk::CrossThreadPersistent<blink::SQLTransactionBackend> >' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/wtf/VectorTraits.h:36:25: required from 'constexpr const bool WTF::VectorTraitsBase<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >::kCanInitializeWithMemset' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/wtf/Deque.h:150:21: required from 'class WTF::Deque<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/modules/webdatabase/Database.h:204:55: required from here ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:205:25: error: invalid application of 'sizeof' to incomplete type 'blink::SQLTransactionBackend' static_assert(sizeof(T), "T must be fully defined"); ^ In file included from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/wtf/Allocator.h:9:0, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h:10, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptValue.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ExceptionState.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/GeneratedCodeHelper.h:14, from gen/blink/bindings/modules/v8/V8WindowPartial.h:14, from gen/blink/bindings/modules/v8/V8WindowPartial.cpp:11: ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/wtf/TypeTraits.h: In instantiation of 'class WTF::IsGarbageCollectedType<blink::SQLTransactionBackend>': ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:212:5: required from 'void blink::PersistentBase<T, weaknessConfiguration, crossThreadnessConfiguration>::TracePersistent(VisitorDispatcher) [with VisitorDispatcher = blink::Visitor*; T = blink::SQLTransactionBackend; blink::WeaknessPersistentConfiguration weaknessConfiguration = (blink::WeaknessPersistentConfiguration)0u; blink::CrossThreadnessPersistentConfiguration crossThreadnessConfiguration = (blink::CrossThreadnessPersistentConfiguration)1u]' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:223:64: required from 'void blink::PersistentBase<T, weaknessConfiguration, crossThreadnessConfiguration>::Initialize() [with T = blink::SQLTransactionBackend; blink::WeaknessPersistentConfiguration weaknessConfiguration = (blink::WeaknessPersistentConfiguration)0u; blink::CrossThreadnessPersistentConfiguration crossThreadnessConfiguration = (blink::CrossThreadnessPersistentConfiguration)1u]' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:46:15: required from 'blink::PersistentBase<T, weaknessConfiguration, crossThreadnessConfiguration>::PersistentBase() [with T = blink::SQLTransactionBackend; blink::WeaknessPersistentConfiguration weaknessConfiguration = (blink::WeaknessPersistentConfiguration)0u; blink::CrossThreadnessPersistentConfiguration crossThreadnessConfiguration = (blink::CrossThreadnessPersistentConfiguration)1u]' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:442:36: required from 'blink::CrossThreadPersistent<T>::CrossThreadPersistent() [with T = blink::SQLTransactionBackend]' /home/dape/Development/rpi/poky-pyro/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/chromium-ozone-igalia/64.0.3267.0.r515863.igalia.1-r0/recipe-sysroot/usr/include/c++/6.3.0/type_traits:1360:12: required from 'struct std::is_trivially_constructible<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >' /home/dape/Development/rpi/poky-pyro/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/chromium-ozone-igalia/64.0.3267.0.r515863.igalia.1-r0/recipe-sysroot/usr/include/c++/6.3.0/type_traits:1367:12: required from 'struct std::is_trivially_default_constructible<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/wtf/VectorTraits.h:36:25: required from 'constexpr const bool WTF::VectorTraitsBase<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >::kCanInitializeWithMemset' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/wtf/Deque.h:150:21: required from 'class WTF::Deque<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/modules/webdatabase/Database.h:204:55: required from here ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/wtf/TypeTraits.h:273:23: error: invalid application of 'sizeof' to incomplete type 'blink::SQLTransactionBackend' static_assert(sizeof(T), "T must be fully defined"); ^ In file included from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/HeapAllocator.h:10:0, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Handle.h:35, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/bindings/ActiveScriptWrappable.h:9, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/bindings/WrapperTypeInfo.h:35, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/bindings/V8PerContextData.h:42, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/bindings/ScriptState.h:12, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptValue.h:36, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/ExceptionState.h:34, from ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/bindings/core/v8/GeneratedCodeHelper.h:14, from gen/blink/bindings/modules/v8/V8WindowPartial.h:14, from gen/blink/bindings/modules/v8/V8WindowPartial.cpp:11: ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h: In instantiation of 'void blink::PersistentBase<T, weaknessConfiguration, crossThreadnessConfiguration>::TracePersistent(VisitorDispatcher) [with VisitorDispatcher = blink::Visitor*; T = blink::SQLTransactionBackend; blink::WeaknessPersistentConfiguration weaknessConfiguration = (blink::WeaknessPersistentConfiguration)0u; blink::CrossThreadnessPersistentConfiguration crossThreadnessConfiguration = (blink::CrossThreadnessPersistentConfiguration)1u]': ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:223:64: required from 'void blink::PersistentBase<T, weaknessConfiguration, crossThreadnessConfiguration>::Initialize() [with T = blink::SQLTransactionBackend; blink::WeaknessPersistentConfiguration weaknessConfiguration = (blink::WeaknessPersistentConfiguration)0u; blink::CrossThreadnessPersistentConfiguration crossThreadnessConfiguration = (blink::CrossThreadnessPersistentConfiguration)1u]' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:46:15: required from 'blink::PersistentBase<T, weaknessConfiguration, crossThreadnessConfiguration>::PersistentBase() [with T = blink::SQLTransactionBackend; blink::WeaknessPersistentConfiguration weaknessConfiguration = (blink::WeaknessPersistentConfiguration)0u; blink::CrossThreadnessPersistentConfiguration crossThreadnessConfiguration = (blink::CrossThreadnessPersistentConfiguration)1u]' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:442:36: required from 'blink::CrossThreadPersistent<T>::CrossThreadPersistent() [with T = blink::SQLTransactionBackend]' /home/dape/Development/rpi/poky-pyro/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/chromium-ozone-igalia/64.0.3267.0.r515863.igalia.1-r0/recipe-sysroot/usr/include/c++/6.3.0/type_traits:1360:12: required from 'struct std::is_trivially_constructible<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >' /home/dape/Development/rpi/poky-pyro/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/chromium-ozone-igalia/64.0.3267.0.r515863.igalia.1-r0/recipe-sysroot/usr/include/c++/6.3.0/type_traits:1367:12: required from 'struct std::is_trivially_default_constructible<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/wtf/VectorTraits.h:36:25: required from 'constexpr const bool WTF::VectorTraitsBase<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >::kCanInitializeWithMemset' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/wtf/Deque.h:150:21: required from 'class WTF::Deque<blink::CrossThreadPersistent<blink::SQLTransactionBackend> >' ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/modules/webdatabase/Database.h:204:55: required from here ../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/platform/heap/Persistent.h:206:5: error: static assertion failed: T needs to be a garbage collected object static_assert(IsGarbageCollectedType<T>::value, ^~~~~~~~~~~~~
,
Nov 17 2017
+haraken tzik
,
Nov 17 2017
Will https://chromium-review.googlesource.com/c/774747/ fix this?
,
Nov 17 2017
Yes, I think.
,
Nov 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3a53ea8b5469be3d15684bba7d1248bc77e3dc36 commit 3a53ea8b5469be3d15684bba7d1248bc77e3dc36 Author: Jose Dapena Paz <jose.dapena@lge.com> Date: Fri Nov 17 08:24:10 2017 Cannot compile gen/blink/bindings/modules/v8/V8WindowPartial.cpp on GCC. This is a fix for a build regression in GCC caused by this commit: commit f3ce2901174c13c13a318dc68f5473cad413199b Author: Yuta Kitamura <yutak@chromium.org> Date: Thu Nov 9 09:02:40 2017 +0000 Split WTF::CrossThreadFunction out of WTF::Function. After this change, the class passed to CrossThreadPersistent need to be completely defined, so a forward class declare is not enough. Bug: 785965 Change-Id: Ie0c06686a394ad9b531c3023e36f850af4bf0361 Reviewed-on: https://chromium-review.googlesource.com/774747 Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: José Dapena Paz <jose.dapena@lge.com> Cr-Commit-Position: refs/heads/master@{#517340} [modify] https://crrev.com/3a53ea8b5469be3d15684bba7d1248bc77e3dc36/third_party/WebKit/Source/modules/webdatabase/Database.h [modify] https://crrev.com/3a53ea8b5469be3d15684bba7d1248bc77e3dc36/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h
,
Nov 17 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by jsb...@chromium.org
, Nov 16 2017