[flac-dev] flac 1.3.0pre2 pre-release
Ben Allison
benski at winamp.com
Mon Mar 11 05:30:18 PDT 2013
> Ben Allison wrote:
>
>> As mentioned before, this removes some of the 'inline' from the
>> bitreader
>> and bitwriter functions that were used in another translation unit.
>> I'm
>> surprised that this code works on other platform. It must be a bug in
>> GCC, or maybe deliberately non-standard behavior. See 6.7.4 of the C99
>> spec for details.
>
> I've read section 6.7.4 from here:
>
> http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
>
> My reading of that section suggests that the usage in FLAC is valid and
> correct.
Take, for example, the function FLAC__bitreader_is_consumed_byte_aligned.
It is prototyped in bitreader.h It is used in stream_decoder.c, so it
must be defined and made available to the linker ("external definition").
However, the only definition in bitreader.c has been declared inline.
More information about the flac-dev
mailing list