Stream ODR types

Jan Hubicka hubicka@ucw.cz
Thu Sep 11 16:59:00 GMT 2014


> On 09/11/2014 03:06 AM, Jan Hubicka wrote:
> >http://kam.mff.cuni.cz/~hubicka/odr-warnings-firefox.txt
> 
> >/aux/hubicka/firefox4/content/media/fmp4/ffmpeg/libav53/include/libavcodec/avcodec.h:997:0: note: the first difference of corresponding definitions is field ‘data’
> >     uint8_t *data[AV_NUM_DATA_POINTERS];
> > ^
> >/aux/hubicka/firefox4/content/media/fmp4/ffmpeg/libav54/include/libavcodec/avcodec.h:997:0: note: a field of same name but different type is defined in another translation unit
> >     uint8_t *data[AV_NUM_DATA_POINTERS];
> > ^
> >/usr/include/stdint.h:49:24: note: type ‘uint8_t’ should match type ‘uint8_t’
> > typedef unsigned char  uint8_t;
> >                        ^
> >/usr/include/stdint.h:49:24: note: the incompatible type is defined here
> 
> Hmm, how can uint8_t be incompatible with itself?

I can imagine that the array has different size and the warning is confused or that
there is bug due to builtin types streaming (they do give me hard time, because LTO
frontned supply bulitin types without names, while C++ bulitin types and their
variants do have names). I will debug that.

Honza



More information about the Gcc-patches mailing list