[vlc-devel] [PATCH 0/5] cpp: renaming all *sys_t because of ODR
Rémi Denis-Courmont
remi at remlab.net
Wed Mar 7 18:13:43 CET 2018
Le keskiviikkona 7. maaliskuuta 2018, 18.48.54 EET Thomas Guillem a écrit :
> On Wed, Mar 7, 2018, at 17:42, Rémi Denis-Courmont wrote:
> > Le keskiviikkona 7. maaliskuuta 2018, 18.31.54 EET Thomas Guillem a écrit
:
> > > Hi,
> > >
> > > After loosing some times in a memory corruption on vlc-ios because VLC
> > > violates the One Definition Rule, I started to rename all *sys_t in all
> > > cpp
> > > modules. (spatialaudio filter_sys_t was used from the blend module)
> > >
> > > If you agree with my naming convention and everything, I'll continue and
> > > fix all others cpp modules.
> > >
> > > The sys_t renaming will need to be backported to 3.0.
> > >
> > > Then, in 4.0, we can remove all *sys_t typedef and replace it with
> > > void*. Do you agree ?
> >
> > I think that sort of revectoring is a big no-no w.r.t. backporting.
>
> So, VLC 3.x static builds will always have a chance to fail completely ?
> For example, for a the vlc-ios build, just enabling debug (NDEBUG undefined)
> results on spatialaudio sys constructor being called from blend sys. For
> me, it looks like the result of a vlc static build is totally undefined.
In theory, yes. That is why we decided not to enable LTO by default several
months ago. You are late to the party if you want to fix this for 3.0.
--
雷米‧德尼-库尔蒙
https://www.remlab.net/
More information about the vlc-devel
mailing list