On 14 January 2016 at 17:15, James Greenhalgh wrote:
> Hope this helps, if it is useless, let me know what would be a better way
> for me to help out with the AArch64 stuff.
It's useful for me to get pointers to some of the C++-related failures, thanks.
> ---
> -Wnarrowing
>
> This is a mismatch between signed values and arm64's unsigned char. This
> hits 21 packages. A typical failure looks like:
>
> s3m.cpp:29:90: error: narrowing conversion of '-1' from 'int' to 'char'
> inside { } [-Wnarrowing]
>
> {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,-1,-1,-1,-1,-1,-1,-1};
>
> ^
> The package builds broken by this warning promoted to an error are:
>
> adplug_2.2.1+dfsg3-0.2ubuntu2
> alsa-tools_1.0.29-1ubuntu1
> biosig4c++_1.3.0-2.1build1
> calligra_1
> edtsurf_0.2009-3
> garmindev_0.3.4+svn3432-3
> kelbt_0.15-1
> ksirk_4
> lrzip_0.621-1
> mimetic_0.9.8-2.1
> nootka_1.2.0-0ubuntu3
> opencollada_0.1.0~20140703.ddf8f47+dfsg1-2
> psi_0.15-2build1
> psi-plus_0.16.330-1build2
> qlandkartegt_1.8.1+ds-3build1
> qpxtool_0.7.2-4
> ruby-unf-ext_0.0.7.1-1build1
> sidplay-libs_2.1.1-14ubuntu2
> tennix_1.1-3
> ufraw_0.20-3build1
> xmlrpc-c_1.33.14-0.2ubuntu3
I was expecting to see several of these, narrowing conversions are
usually the biggest cause of problems when moving from c++03 to c++11
or later.
> [ Invalid code (as far as I know my c++11...) using both auto and a type
> name won't work. Presumably worked before as a redundant storage
> duration specifier but is broken now we are C++14 by default. ]
>
>
> plugins/org.python.pydev/pysrc/pydevd_attach_to_process/linux/attach_linux.c:
> In function 'int _PYDEVD_ExecWithGILSetSysStrace(bool, bool)':
>
> plugins/org.python.pydev/pysrc/pydevd_attach_to_process/linux/attach_linux.c:237:25:
> error: expected initializer before 'pydevdTracingMod'
> auto PyObjectHolder pydevdTracingMod = PyObjectHolder(isDebug,
> pyImportModFunc("pydevd_tracing"));
> ^~~~~~~~~~~~~~~~
Wow, people are actually using auto as a storage specifier!
>
> qutecom_2.2.1+dfsg1-5.2ubuntu2
>
> [ No idea why this should start failing now. Possibly not C++11 clean? ]
>
> /usr/include/boost/bind/bind.hpp:392:35: error: no match for call to
> '(boost::_mfi::mf2<void, UserProfile, SipAccount&,
> EnumSipLoginState::SipLoginState>) (UserProfile*&, const SipAccount&, const
> EnumSipLoginState::SipLoginState&)'
> unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_],
> a[base_type::a3_]);
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There's a const-mistmatch there, it's trying to pass const SipAccount&
to a function taking (non-const) SipAccount&. It's possible the
relevant Boost component is stricter in C++11 mode, but it's a bit
surprising.
> sitplus_1.0.3-4.1build1
>
> [ Uses boost::shared_ptr and the std:: namespace, gets in to trouble now
> that C++11 provides a std::shared_ptr ]
>
>
> In file included from
> /«PKGBUILDDIR»/src/mod_collage/Kernel/kernel.cpp:36:0:
> /«PKGBUILDDIR»/src/mod_collage/Kernel/delay.h:27:4: error: reference to
> 'shared_ptr' is ambiguous
> shared_ptr<PictureNode> m_img;
I'm surprised there aren't more like this.
> stardict_3.0.1-9.2ubuntu3
>
> [ No idea why this would start to fail now. Possibly not C++11 clean? ]
>
> stardict.cpp: In member function 'bool AppCore::SimpleLookupToFloat(const
> char*, bool)':
> stardict.cpp:656:100: error: no matching function for call to
> 'AppCore::BuildResultData(std::vector<InstantDictIndex>&, char*&,
> CurrentIndex*&, bool, size_t&, gchar***&, gchar****&, bool&, int)'
> BuildResultData(scan_dictmask, SearchWord, iIndex, false, iLib,
> pppWord, ppppWordData, bFound, 2);
>
> ^
>
> vlc_2.2.1-5
>
> [ Includes an atomic header from QtCore that seems to get in a
> lot of trouble. Many errors, more than are worth reproducing
> here. ]
>