Stream ODR types
Jason Merrill
jason@redhat.com
Thu Sep 11 16:53: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?
> /aux/hubicka/firefox4/dom/base/nsJSEnvironment.cpp:311:0: note: a field with different name is defined in another translation unit
This should print the different name in case the difference is due to a
macro (as it is here).
> + Eventually we should start saving mangled names in TYPE_NAME.
> + Then this condition will become non-trivial. */
I think this sentence is out of date now. :)
Looks good otherwise.
Jason
More information about the Gcc-patches
mailing list