Closed
Bug 1700027
Opened 4 years ago
Closed 4 years ago
Cannot build on Windows due to "error: no matching constructor for initialization of 'mozilla::Keyframe'"
Categories
(Core :: XPCOM, defect, P1)
Tracking
()
RESOLVED
DUPLICATE
of bug 1699923
People
(Reporter: masayuki, Unassigned)
References
(Regression)
Details
(Keywords: regression)
I cannot build today's mozilla-central with the last ./mach bootstrap.
2:00.55 In file included from Unified_cpp_dom_animation0.cpp:2:
2:00.55 In file included from m:/src/dom/animation/Animation.cpp:7:
2:00.55 In file included from m:/src/dom/animation/Animation.h:12:
2:00.55 In file included from m:/fx64-dbg/dist/include\mozilla/AnimationPerformanceWarning.h:14:
2:00.55 m:/fx64-dbg/dist/include/nsTArray.h(631,34): error: no matching constructor for initialization of 'mozilla::Keyframe'
2:00.55 new (static_cast<void*>(aE)) E(std::forward<A>(aArg));
2:00.55 ^ ~~~~~~~~~~~~~~~~~~~~~
2:00.55 m:/fx64-dbg/dist/include/nsTArray.h(2665,16): note: in instantiation of function template specialization 'nsTArrayElementTraits<mozilla::Keyframe>::Construct<mozilla::nsTArrayBackInserter<mozilla::Keyframe, nsTArray<mozilla::Keyframe>> &>' requested here
2:00.55 elem_traits::Construct(elem, std::forward<Item>(aItem));
2:00.55 ^
2:00.56 m:/fx64-dbg/dist/include/nsTArray.h(2803,24): note: in instantiation of function template specialization 'nsTArray_Impl<mozilla::Keyframe, nsTArrayInfallibleAllocator>::AppendElementInternal<nsTArrayInfallibleAllocator, mozilla::nsTArrayBackInserter<mozilla::Keyframe, nsTArray<mozilla::Keyframe>> &>' requested here
2:00.56 this->template AppendElementInternal<InfallibleAlloc>(
2:00.56 ^
2:00.56 m:/fx64-dbg/dist/include/nsTArray.h(3178,13): note: in instantiation of function template specialization 'nsTArray<mozilla::Keyframe>::AppendElement<mozilla::nsTArrayBackInserter<mozilla::Keyframe, nsTArray<mozilla::Keyframe>> &>' requested here
2:00.56 mArray->AppendElement(std::forward<E2>(aValue));
2:00.56 ^
2:00.56 C:\PROGRA~2\MIB055~1\2019\PROFES~1\VC\Tools\MSVC\1428~1.299\include\xutility(1500,13): note: in instantiation of function template specialization 'mozilla::nsTArrayBackInserter<mozilla::Keyframe, nsTArray<mozilla::Keyframe>>::operator=<mozilla::nsTArrayBackInserter<mozilla::Keyframe, nsTArray<mozilla::Keyframe>> &>' requested here
2:00.56 _It = _STD forward<_UIter>(_UIt);
2:00.56 ^
2:00.56 m:/src/dom/animation/KeyframeUtils.cpp(1039,8): note: in instantiation of function template specialization 'std::transform<detail::nsTHashtableEntryIterator<nsBaseHashtableET<nsFloatHashKey, mozilla::Keyframe>>, mozilla::nsTArrayBackInserter<mozilla::Keyframe, nsTArray<mozilla::Keyframe>>, (lambda at m:/src/dom/animation/KeyframeUtils.cpp:1040:45)>' requested here
2:00.56 std::transform(processedKeyframes.begin(), processedKeyframes.end(),
2:00.56 ^
2:00.56 m:/fx64-dbg/dist/include\mozilla/Keyframe.h(65,3): note: candidate constructor not viable: no known conversion from 'mozilla::nsTArrayBackInserter<mozilla::Keyframe, nsTArray<mozilla::Keyframe>>' to 'const mozilla::Keyframe' for 1st argument
2:00.56 Keyframe(const Keyframe& aOther) = default;
2:00.56 ^
2:00.56 m:/fx64-dbg/dist/include\mozilla/Keyframe.h(66,3): note: candidate constructor not viable: no known conversion from 'mozilla::nsTArrayBackInserter<mozilla::Keyframe, nsTArray<mozilla::Keyframe>>' to 'mozilla::Keyframe' for 1st argument
2:00.56 Keyframe(Keyframe&& aOther) = default;
2:00.56 ^
2:00.56 m:/fx64-dbg/dist/include\mozilla/Keyframe.h(64,3): note: candidate constructor not viable: requires 0 arguments, but 1 was provided
2:00.56 Keyframe() = default;
2:00.56 ^
my mozconfig file is:
export CC="clang-cl.exe"
export CXX="clang-cl.exe"
export LINKER="lld-link.exe"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../fx64-dbg
mk_add_options MOZ_MAKE_FLAGS="-j32"
mk_add_options AUTOCLOBBER=1
ac_add_options --target=i686-pc-mingw32
ac_add_options --enable-rust-simd
ac_add_options --enable-debug
ac_add_options --enable-clang-plugin
| Reporter | ||
Updated•4 years ago
|
Severity: -- → S1
Priority: P1 → --
| Reporter | ||
Comment 1•4 years ago
|
||
I also found this error:
0:28.13 In file included from Unified_cpp_dom_cache1.cpp:2:
0:28.13 In file included from m:/src/dom/cache/Context.cpp:7:
0:28.13 In file included from m:/fx64-dbg/dist/include\mozilla/dom/cache/Context.h:10:
0:28.13 In file included from m:/fx64-dbg/dist/include\mozilla/dom/SafeRefPtr.h:10:
0:28.13 In file included from m:/fx64-dbg/dist/include\mozilla/ArrayAlgorithm.h:10:
0:28.13 m:/fx64-dbg/dist/include/nsTArray.h(631,34): error: no matching constructor for initialization of 'nsID'
0:28.13 new (static_cast<void*>(aE)) E(std::forward<A>(aArg));
0:28.13 ^ ~~~~~~~~~~~~~~~~~~~~~
0:28.13 m:/fx64-dbg/dist/include/nsTArray.h(2665,16): note: in instantiation of function template specialization 'nsTArrayElementTraits<nsID>::Construct<mozilla::nsTArrayBackInserter<nsID, nsTArray<nsID>> &>' requested here
0:28.13 elem_traits::Construct(elem, std::forward<Item>(aItem));
0:28.13 ^
0:28.13 m:/fx64-dbg/dist/include/nsTArray.h(2803,24): note: in instantiation of function template specialization 'nsTArray_Impl<nsID, nsTArrayInfallibleAllocator>::AppendElementInternal<nsTArrayInfallibleAllocator, mozilla::nsTArrayBackInserter<nsID, nsTArray<nsID>> &>' requested here
0:28.13 this->template AppendElementInternal<InfallibleAlloc>(
0:28.13 ^
0:28.13 m:/fx64-dbg/dist/include/nsTArray.h(3178,13): note: in instantiation of function template specialization 'nsTArray<nsID>::AppendElement<mozilla::nsTArrayBackInserter<nsID, nsTArray<nsID>> &>' requested here
0:28.13 mArray->AppendElement(std::forward<E2>(aValue));
0:28.14 ^
0:28.14 C:\PROGRA~2\MIB055~1\2019\PROFES~1\VC\Tools\MSVC\1428~1.299\include\xutility(1500,13): note: in instantiation of function template specialization 'mozilla::nsTArrayBackInserter<nsID, nsTArray<nsID>>::operator=<mozilla::nsTArrayBackInserter<nsID, nsTArray<nsID>> &>' requested here
0:28.14 _It = _STD forward<_UIter>(_UIt);
0:28.14 ^
0:28.14 m:/src/dom/cache/Manager.cpp(2058,8): note: in instantiation of function template specialization 'std::copy_if<mozilla::ArrayIterator<const nsID &, nsTArray_Impl<nsID, nsTArrayInfallibleAllocator>>, mozilla::nsTArrayBackInserter<nsID, nsTArray<nsID>>, (lambda at m:/src/dom/cache/Manager.cpp:2060:16)>' requested here
0:28.14 std::copy_if(aDeletedBodyIdList.cbegin(), aDeletedBodyIdList.cend(),
0:28.14 ^
0:28.14 m:/fx64-dbg/dist/include\nsID.h(20,8): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'mozilla::nsTArrayBackInserter<nsID, nsTArray<nsID>>' to 'const nsID' for 1st argument
0:28.14 struct nsID {
0:28.14 ^
0:28.14 m:/fx64-dbg/dist/include\nsID.h(20,8): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'mozilla::nsTArrayBackInserter<nsID, nsTArray<nsID>>' to 'nsID' for 1st argument
0:28.14 m:/fx64-dbg/dist/include\nsID.h(20,8): note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided
So, I guess this is a regression of changes around array?
| Reporter | ||
Comment 2•4 years ago
|
||
The regression range is here:
https://hg.mozilla.org/mozilla-central/pushloghtml?changeset=e8ee87ef82c3e951afabe2cb534f41b23bf79a50
| Reporter | ||
Comment 3•4 years ago
|
||
The first revision which I cannot build mozilla-central is:
https://hg.mozilla.org/mozilla-central/rev/6dc1a1cd5f25c88f393fcb84b904bbcdd0eba683
Updated•4 years ago
|
Has Regression Range: --- → yes
Priority: -- → P1
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
If that helps, here's a small patch I'm using locally in order to build, until bug 1699923 gets a proper fix: https://hg.mozilla.org/try/rev/c970ca811c0f00797336504cefe7ff85bcca7148
Updated•4 years ago
|
Flags: needinfo?(sgiesecke)
You need to log in
before you can comment on or make changes to this bug.
Description
•