[vlc-devel] [PATCH 0/5] cpp: renaming all *sys_t because of ODR

Thomas Guillem thomas at gllm.fr
Wed Mar 7 18:23:59 CET 2018


On Wed, Mar 7, 2018, at 18:13, Rémi Denis-Courmont wrote:
> 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.

Why not ?
Just renaming few structs in few modules is not that complicated.
I'm OK to test all modules afterward.

> 
> -- 
> 雷米‧德尼-库尔蒙
> https://www.remlab.net/
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list