On Mon, Jan 02, 2012 at 05:03:22PM +0100, Janne Grunau wrote:
> On 2012-01-02 16:46:40 +0100, Diego Biurrun wrote:
> > On Wed, Dec 21, 2011 at 11:11:44AM +0100, Diego Biurrun wrote:
> > > 
> > > This is a problem with the START_TIMER/STOP_TIMER macros of which we
> > > have commented-out problematic instances in
> > > 
> > > libavcodec/dnxhdenc.c
> > > libavcodec/h264.c
> > > libavcodec/indeo5.c
> > > libpostproc/postprocess_template.c
> > > 
> > > Here are the error messages:
> > > 
> > > ~/src/priv/libav $ make -k all alltools examples testprogs
> > > CC      libavcodec/dnxhdenc.o
> > > libavcodec/dnxhdenc.c: In function ‘dnxhd_encode_thread’:
> > > libavcodec/dnxhdenc.c:586: error: ISO C90 forbids mixed declarations and 
> > > code
> > > make: *** [libavcodec/dnxhdenc.o] Error 1
> > > CC      libavcodec/indeo5.o
> > > libavcodec/indeo5.c: In function ‘decode_frame’:
> > > libavcodec/indeo5.c:760: error: ISO C90 forbids mixed declarations and 
> > > code
> > > make: *** [libavcodec/indeo5.o] Error 1
> > > CC      libpostproc/postprocess.o
> > > In file included from libpostproc/postprocess.c:601:
> > > libpostproc/postprocess_template.c: In function ‘do_a_deblock_MMX2’:
> > > libpostproc/postprocess_template.c:2475: error: ISO C90 forbids mixed 
> > > declarations and code
> > > make: *** [libpostproc/postprocess.o] Error 1
> > > make: Target `all' not remade because of errors.
> > > make: Target `alltools' not remade because of errors.
> > > make: Target `examples' not remade because of errors.
> > > CC      libavcodec/h264-test.o
> > > libavcodec/h264.c: In function ‘main’:
> > > libavcodec/h264.c:4134: error: ISO C90 forbids mixed declarations and code
> > > libavcodec/h264.c:4159: error: ISO C90 forbids mixed declarations and code
> > > make: *** [libavcodec/h264-test.o] Error 1
> > > make: Target `testprogs' not remade because of errors.
> > 
> > Suggestions?  I don't believe we should keep the test programs 
> > non-compiling.
> 
> not really, we could either make the timer macros more complicated. The
> start would need to be stored in a static table or we could add a macro
> INIT_TIMER which declares the needed variables.
> 
> Or we revert to the previous behavior and just warn about this.
> 
> Each option is annoying, I think I prefer INIT_TIMER

I have two patches pending that fix the compilation failures.  One just
merges declarations and initializations and should be a no-brainer.  The
other declares new blocks along with START_TIMER - I'm not entirely sure
if this could not have any negative sideeffects.  Alternatively, we could
declare a new block in START_TIMER itself, possibly a cleaner solution.

Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to