[vlc-devel] [PATCH 0/5] cpp: renaming all *sys_t because of ODR
thomas at gllm.fr
Wed Mar 7 18:08:32 CET 2018
On Wed, Mar 7, 2018, at 17:48, Thomas Guillem wrote:
> 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.
So, vlc-ios build script set -O0 when enabling debug, this is really misleading (there should be 2 different options: for debug and optims).
The difference is that constructors are inlined in -O3 and not in -O0.
But can we be sure that they will be always inlined ?
> > 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
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
More information about the vlc-devel