sd/inc/sdmod.hxx | 2 +- sw/inc/unomap.hxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
New commits: commit 62fda78aecc8ba827dc12081b1a5873393138ca9 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Mon Aug 29 14:40:01 2022 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Mon Aug 29 16:21:36 2022 +0200 span requires a complete element type ...see C++20 [span.overview]/3 "ElementType is required to be a complete object type that is not an abstract class type." At least a --with-latest-c++ build against recent LLVM 16 trunk libc++ failed for me now with > In file included from sd/source/ui/app/sdmod.cxx:24: > In file included from include/vcl/virdev.hxx:24: > In file included from include/vcl/outdev.hxx:24: > In file included from include/o3tl/span.hxx:19: > ~/llvm/inst/bin/../include/c++/v1/span:540:38: error: arithmetic on a pointer to an incomplete type 'const SfxItemPropertyMapEntry' > return iterator(this, data() + size()); > ~~~~~~ ^ > ~/llvm/inst/bin/../include/c++/v1/__ranges/access.h:144:36: note: in instantiation of member function 'std::span<const SfxItemPropertyMapEntry, 18446744073709551615>::end' requested here > return _LIBCPP_AUTO_CAST(__t.end()); > ^ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:44:5: note: in instantiation of function template specialization 'std::ranges::__end::__fn::operator()<const std::span<const SfxItemPropertyMapEntry, 18446744073709551615> &>' requested here > ranges::end(__t); > ^ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:44:5: note: in instantiation of requirement here > ranges::end(__t); > ^~~~~~~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:42:19: note: while substituting template arguments into constraint expression here > concept range = requires(_Tp& __t) { > ^~~~~~~~~~~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:48:25: note: while checking the satisfaction of concept 'range<const std::span<const SfxItemPropertyMapEntry, 18446744073709551615> &>' requested here > concept input_range = range<_Tp> && input_iterator<iterator_t<_Tp>>; > ^~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:48:25: note: (skipping 16 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) > ~/llvm/inst/bin/../include/c++/v1/__tree:761:23: note: in instantiation of template class 'std::__value_type<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo>>' requested here > __node_value_type __value_; > ^ > ~/llvm/inst/bin/../include/c++/v1/__tree:1798:49: note: in instantiation of template class 'std::__tree_node<std::__value_type<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo>>, void *>' requested here > destroy(static_cast<__node_pointer>(__nd->__left_)); > ^ > ~/llvm/inst/bin/../include/c++/v1/__tree:1789:3: note: in instantiation of member function 'std::__tree<std::__value_type<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo>>, std::__map_value_compare<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, std::__value_type<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo>>, SdExtPropertySetInfoCacheCompare, true>, std::allocator<std::__value_type<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo>>>>::destroy' requested here > destroy(__root()); > ^ > ~/llvm/inst/bin/../include/c++/v1/map:1033:5: note: in instantiation of member function 'std::__tree<std::__value_type<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo>>, std::__map_value_compare<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, std::__value_type<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo>>, SdExtPropertySetInfoCacheCompare, true>, std::allocator<std::__value_type<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo>>>>::~__tree' requested here > map() > ^ > sd/source/ui/app/sdmod.cxx:57:11: note: in instantiation of member function 'std::map<std::span<const SfxItemPropertyMapEntry, 18446744073709551615>, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo>, SdExtPropertySetInfoCacheCompare>::map' requested here > SdModule::SdModule(SfxObjectFactory* pFact1, SfxObjectFactory* pFact2 ) > ^ > sd/inc/sdmod.hxx:45:8: note: forward declaration of 'SfxItemPropertyMapEntry' > struct SfxItemPropertyMapEntry; > ^ and > In file included from sw/source/core/unocore/unochart.cxx:34: > In file included from sw/inc/unochart.hxx:52: > In file included from sw/inc/unocrsr.hxx:22: > In file included from sw/inc/swcrsr.hxx:23: > In file included from sw/inc/tblsel.hxx:22: > In file included from sw/inc/swtable.hxx:24: > In file included from sw/inc/swtypes.hxx:30: > In file included from include/vcl/outdev.hxx:24: > In file included from include/o3tl/span.hxx:19: > ~/llvm/inst/bin/../include/c++/v1/span:540:38: error: arithmetic on a pointer to an incomplete type 'const SfxItemPropertyMapEntry' > return iterator(this, data() + size()); > ~~~~~~ ^ > ~/llvm/inst/bin/../include/c++/v1/__ranges/access.h:144:36: note: in instantiation of member function 'std::span<const SfxItemPropertyMapEntry, 18446744073709551615>::end' requested here > return _LIBCPP_AUTO_CAST(__t.end()); > ^ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:44:5: note: in instantiation of function template specialization 'std::ranges::__end::__fn::operator()<const std::span<const SfxItemPropertyMapEntry, 18446744073709551615> &>' requested here > ranges::end(__t); > ^ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:44:5: note: in instantiation of requirement here > ranges::end(__t); > ^~~~~~~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:42:19: note: while substituting template arguments into constraint expression here > concept range = requires(_Tp& __t) { > ^~~~~~~~~~~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:48:25: note: while checking the satisfaction of concept 'range<const std::span<const SfxItemPropertyMapEntry, 18446744073709551615> &>' requested here > concept input_range = range<_Tp> && input_iterator<iterator_t<_Tp>>; > ^~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/__ranges/concepts.h:48:25: note: (skipping 11 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) > ~/llvm/inst/bin/../include/c++/v1/span:441:15: note: while checking the satisfaction of concept '__span_compatible_range<const std::span<const SfxItemPropertyMapEntry, 18446744073709551615> &, const SfxItemPropertyMapEntry>' requested here > template <__span_compatible_range<element_type> _Range> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/span:441:15: note: while substituting template arguments into constraint expression here > template <__span_compatible_range<element_type> _Range> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/span:391:28: note: while checking constraint satisfaction for template 'span<const std::span<const SfxItemPropertyMapEntry, 18446744073709551615> &>' required here > class _LIBCPP_TEMPLATE_VIS span<_Tp, dynamic_extent> { > ^~~~ > ~/llvm/inst/bin/../include/c++/v1/span:391:28: note: in instantiation of function template specialization 'std::span<const SfxItemPropertyMapEntry, 18446744073709551615>::span<const std::span<const SfxItemPropertyMapEntry, 18446744073709551615> &>' requested here > sw/inc/unomap.hxx:317:7: note: while declaring the implicit copy constructor for 'SwUnoPropertyMapProvider' > class SwUnoPropertyMapProvider > ^ > sw/inc/unomap.hxx:26:8: note: forward declaration of 'SfxItemPropertyMapEntry' > struct SfxItemPropertyMapEntry; > ^ Change-Id: I53d7d427890b360d87fa29e184c7836eff672ece Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138995 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/sd/inc/sdmod.hxx b/sd/inc/sdmod.hxx index f001fa793786..4fca79b04b13 100644 --- a/sd/inc/sdmod.hxx +++ b/sd/inc/sdmod.hxx @@ -24,6 +24,7 @@ #include <sot/storage.hxx> #include "sddllapi.h" +#include <svl/itemprop.hxx> #include <svl/lstner.hxx> #include <com/sun/star/beans/XPropertySetInfo.hpp> #include <sfx2/app.hxx> @@ -42,7 +43,6 @@ class SdTransferable; class SvNumberFormatter; class SfxErrorHandler; class SfxFrame; -struct SfxItemPropertyMapEntry; class VclSimpleEvent; namespace svtools { class ColorConfig; } enum class SdrObjKind : sal_uInt16; diff --git a/sw/inc/unomap.hxx b/sw/inc/unomap.hxx index b30603266732..d3cfcb862937 100644 --- a/sw/inc/unomap.hxx +++ b/sw/inc/unomap.hxx @@ -20,10 +20,10 @@ #define INCLUDED_SW_INC_UNOMAP_HXX #include <sal/types.h> +#include <svl/itemprop.hxx> #include <o3tl/span.hxx> class SfxItemPropertySet; -struct SfxItemPropertyMapEntry; #define PROPERTY_MAP_TEXT_CURSOR 0 #define PROPERTY_MAP_CHAR_STYLE 1