diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2021-06-14 12:06:08 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-06-14 16:42:50 +0200 |
commit | 6716b0dd60254d2dd829948d7fd7effbaec8f751 (patch) | |
tree | f4169ab56f3e683ec78e2b927b007d6ba31fccc2 /include | |
parent | 2109f0fc841036c7d0c2f720250451aa7b521dac (diff) |
Workaround internal compiler error on tb77
As reported in https://ci.libreoffice.org/job/gerrit_windows/98360/console :
C:/cygwin/home/tdf/jenkins/workspace/gerrit_windows/svx/source/svdraw/svdedxv.cxx(2639): fatal error C1001: Internal compiler error.
(compiler file 'msc1.cpp', line 1591)
To work around this problem, try simplifying or changing the program near the locations listed above.
If possible please provide a repro here: https://developercommunity.visualstudio.com
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
C:/cygwin/home/tdf/jenkins/workspace/gerrit_windows/svx/source/svdraw/svdedxv.cxx(2631): note: while evaluating constexpr function 'svl::ItemsArray'
INTERNAL COMPILER ERROR in 'C:\PROGRA~2\MIB055~1\2019\COMMUN~1\VC\Tools\MSVC\1427~1.291\bin\Hostx64\x86\cl.exe'
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
tb77 uses VS 16.7.7 (cl.exe is under Tools/MSVC/14.27.29110); tb68 with
cl.exe under Tools/MSVC/14.28.29910 has no problems compiling this.
Let's make the code simple for now, until we upgrade the tooling on CI.
Change-Id: I10aaf289454c89b2f49b4be947627a9a3be30fde
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117137
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 90cb57eb53e28ecb983001bf8f018577abb6d145)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117118
Tested-by: Jenkins
Diffstat (limited to 'include')
-rw-r--r-- | include/svl/itemset.hxx | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/include/svl/itemset.hxx b/include/svl/itemset.hxx index d4a9304a85dd..e8bc88a13263 100644 --- a/include/svl/itemset.hxx +++ b/include/svl/itemset.hxx @@ -86,24 +86,6 @@ constexpr std::size_t rangesSize() template<sal_uInt16... WIDs> struct Items {}; -// This allows creating compile-time which id arrays using syntax like -// -// constexpr auto aWids = svl::ItemsArray({ { widFrom1, widTo2 }, { widFrom2, widTo2 }, ... }); -// -// so that e.g. clang-format would not try to rearrange the initializer sequence to break pairs. -// Additionally, the array validity is checked in debug builds. -template <size_t N> constexpr auto ItemsArray(const std::pair<sal_uInt16, sal_uInt16> (&wids)[N]) -{ - std::array<sal_uInt16, N * 2 + 1> aArray{}; - sal_uInt16* p = aArray.data(); - for (const auto& [wid1, wid2] : wids) - { - *p++ = wid1; - *p++ = wid2; - } - assert(svl::detail::validRanges(aArray.data())); - return aArray; -} } class SAL_WARN_UNUSED SVL_DLLPUBLIC SfxItemSet |