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

Thomas Guillem thomas at gllm.fr
Wed Mar 7 17:48:54 CET 2018



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.

> 
> Don't enable whatever optimization this breaks. Typically, this would be 
> mostly down to LTO or RTTI.
> 
> -- 
> 雷米‧德尼-库尔蒙
> 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