[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