[Bug c++/108096] New: [13 regression] libreoffice build failure #2

manuel.lauss at googlemail dot com gcc-bugzilla@gcc.gnu.org
Wed Dec 14 10:56:31 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108096

            Bug ID: 108096
           Summary: [13 regression] libreoffice build failure #2
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: manuel.lauss at googlemail dot com
  Target Milestone: ---

Created attachment 54088
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54088&action=edit
comrpessed preprocessed source

This is a followup to PR108071.

With todays gcc-trunk (g:693638252aae9b36b5b928d7195df6d28bf409d7), libreoffice
build fails with another new error:

# g++ -c backupfilehelper.i
backupfilehelper.i: In instantiation of 'constexpr bool
std::__check_constructible() [with _ValueType = rtl::OUString; _Tp = const
char* const&]':
backupfilehelper.i:25254:119:   required from '_ForwardIterator
std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with
_InputIterator = const char* const*; _ForwardIterator = rtl::OUString*]'
backupfilehelper.i:25380:37:   required from '_ForwardIterator
std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator,
allocator<_Tp>&) [with _InputIterator = const char* const*; _ForwardIterator =
rtl::OUString*; _Tp = rtl::OUString]'
backupfilehelper.i:40712:33:   required from 'void std::vector<_Tp,
_Alloc>::_M_range_initialize(_ForwardIterator, _ForwardIterator,
std::forward_iterator_tag) [with _ForwardIterator = const char* const*; _Tp =
rtl::OUString; _Alloc = std::allocator<rtl::OUString>]'
backupfilehelper.i:40361:23:   required from 'std::vector<_Tp,
_Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with
_InputIterator = const char* const*; <template-parameter-2-2> = void; _Tp =
rtl::OUString; _Alloc = std::allocator<rtl::OUString>; allocator_type =
std::allocator<rtl::OUString>]'
backupfilehelper.i:62388:9:   required from here
backupfilehelper.i:25201:56: error: static assertion failed: result type must
be constructible from input type
25201 |       static_assert(is_constructible<_ValueType, _Tp>::value,
      |                                                        ^~~~~
backupfilehelper.i:25201:56: note: 'std::integral_constant<bool, false>::value'
evaluates to false


The offending code is:

const std::vector< OUString >& f()
{
    static std::vector< OUString > aDirNames =
    {
            "config",
            "registry",
            "psprint",
            "store",
            "temp",
            "pack"
    };
    return aDirNames;
}


Find attached the compressed preprocessed source.

Thank you!
     Manuel


More information about the Gcc-bugs mailing list