On Sun, 19 Aug 2012 15:02:22 -0700, "Ronald S. Bultje" <[email protected]> wrote: > Hi, > > On Sat, Aug 18, 2012 at 11:09 PM, Anton Khirnov <[email protected]> wrote: > > > > On Sat, 18 Aug 2012 22:32:15 -0700, "Ronald S. Bultje" <[email protected]> > > wrote: > >> From: "Ronald S. Bultje" <[email protected]> > >> > >> --- > >> libavcodec/aacdec.c | 3 ++- > >> 1 file changed, 2 insertions(+), 1 deletion(-) > >> > >> diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c > >> index 1c59ec5..bf99cc3 100644 > >> --- a/libavcodec/aacdec.c > >> +++ b/libavcodec/aacdec.c > >> @@ -1257,9 +1257,10 @@ static inline float *VMUL4S(float *dst, const float > >> *v, unsigned idx, > >> unsigned sign, const float *scale) > >> { > >> unsigned nz = idx >> 12; > >> - union av_intfloat32 s = { .f = *scale }; > >> + union av_intfloat32 s; > >> union av_intfloat32 t; > >> > >> + s.f = *scale; > >> t.i = s.i ^ (sign & 1U<<31); > >> *dst++ = v[idx & 3] * t.f; > >> > > > > Please, stop those euphemisms. I'm sure the actual reason for this patch is > > not > > simplifying the code, but making it parsable by msvc. In that case, just > > say so. > > Obscuring the purpose is not helping anyone. > > > > Also, I wonder why is this needed. Your converter can do this replacement > > for > > structs, can't it trivially do the same for unions? > > OK, so apparently no flames, so fine, I propose I amend the commit msg > saying that "this aids in compilation with compilers that have > limitations, such as MSVC." Is that better? >
Not really. With this patch you're implicitly banning designated initializers in unions. We didn't discuss this and didn't agree to this. > I'm sure there's ways to write some sort of a converter to do some > kind of source code conversion to sort of hack around this and make it > sort-of work in some cases but not others (think static const union > assignments). I welcome patches that assist in accomplishing this > goal, and encourage you to send one, or contribute ideas on how to get > there. > As I said above in this thread, for non-static initialization you do essentially the same replacement that the converter already does for compound literals. So this should be doable very easily in the converter. Am I wrong? -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
