Workaround for LO build failure with clang

Julien Nabet serval2412 at yahoo.fr
Fri Dec 3 19:30:12 UTC 2021


Hello,

On pc Debian x86-64 testing updated today, I got a build failure with 
master sources updated today:

In file included from 
/home/julien/lo/libreoffice/chart2/source/tools/ChartModelHelper.cxx:25:
In file included from 
/home/julien/lo/libreoffice/chart2/source/inc/InternalDataProvider.hxx:21:
In file included from 
/home/julien/lo/libreoffice/chart2/source/inc/InternalData.hxx:24:
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/valarray:1215:5: 
error: exception specification in declaration does not match previous 
declaration
     begin(valarray<_Tp>& __va) noexcept
     ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/range_access.h:107:31: 
note: previous declaration is here
   template<typename _Tp> _Tp* begin(valarray<_Tp>&);
                               ^
In file included from 
/home/julien/lo/libreoffice/chart2/source/tools/ChartModelHelper.cxx:25:
In file included from 
/home/julien/lo/libreoffice/chart2/source/inc/InternalDataProvider.hxx:21:
In file included from 
/home/julien/lo/libreoffice/chart2/source/inc/InternalData.hxx:24:
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/valarray:1226:5: 
error: exception specification in declaration does not match previous 
declaration
     begin(const valarray<_Tp>& __va) noexcept
     ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/range_access.h:108:37: 
note: previous declaration is here
   template<typename _Tp> const _Tp* begin(const valarray<_Tp>&);
                                     ^
In file included from 
/home/julien/lo/libreoffice/chart2/source/tools/ChartModelHelper.cxx:25:
In file included from 
/home/julien/lo/libreoffice/chart2/source/inc/InternalDataProvider.hxx:21:
In file included from 
/home/julien/lo/libreoffice/chart2/source/inc/InternalData.hxx:24:
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/valarray:1237:5: 
error: exception specification in declaration does not match previous 
declaration
     end(valarray<_Tp>& __va) noexcept
     ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/range_access.h:109:31: 
note: previous declaration is here
   template<typename _Tp> _Tp* end(valarray<_Tp>&);
                               ^
In file included from 
/home/julien/lo/libreoffice/chart2/source/tools/ChartModelHelper.cxx:25:
In file included from 
/home/julien/lo/libreoffice/chart2/source/inc/InternalDataProvider.hxx:21:
In file included from 
/home/julien/lo/libreoffice/chart2/source/inc/InternalData.hxx:24:
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/valarray:1253:5: 
error: exception specification in declaration does not match previous 
declaration
     end(const valarray<_Tp>& __va) noexcept
     ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/range_access.h:110:37: 
note: previous declaration is here
   template<typename _Tp> const _Tp* end(const valarray<_Tp>&);
                                     ^

Debian clang version 11.1.0-4

After some research, I found a bug declared on Debian bugtracker here: 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000398

It refers to a patch:

https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=2b2d97fc545635a0f6aa9c9ee3b017394bc494bf

I gave it a try and it worked for me.

If it can help someone :-)

Julien




More information about the LibreOffice mailing list