From: Josh Coalson Date: Mon, 16 Apr 2001 05:33:22 +0000 (+0000) Subject: document GCC compiler bug that produces false warning X-Git-Tag: 1.2.0~2477 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eae4dde2330523e075158db8296e565c24fa1c5b;p=platform%2Fupstream%2Fflac.git document GCC compiler bug that produces false warning --- diff --git a/src/flac/encode.c b/src/flac/encode.c index 2a96598..eee3e65 100644 --- a/src/flac/encode.c +++ b/src/flac/encode.c @@ -287,6 +287,8 @@ int encode_wav(const char *infile, const char *outfile, bool verbose, uint64 ski else { unsigned wide_samples = bytes_read / bytes_per_wide_sample; format_input(wide_samples, false, is_unsigned_samples, channels, bps, &encoder_wrapper); + + /* NOTE: some versions of GCC can't figure out const-ness right and will give you an 'incompatible pointer type' warning on arg 2 here: */ if(!FLAC__encoder_process(encoder_wrapper.encoder, input, wide_samples)) { fprintf(stderr, "ERROR during encoding, state = %d:%s\n", encoder_wrapper.encoder->state, FLAC__EncoderStateString[encoder_wrapper.encoder->state]); goto wav_abort_; @@ -441,6 +443,8 @@ int encode_raw(const char *infile, const char *outfile, bool verbose, uint64 ski else { unsigned wide_samples = bytes_read / bytes_per_wide_sample; format_input(wide_samples, is_big_endian, is_unsigned_samples, channels, bps, &encoder_wrapper); + + /* NOTE: some versions of GCC can't figure out const-ness right and will give you an 'incompatible pointer type' warning on arg 2 here: */ if(!FLAC__encoder_process(encoder_wrapper.encoder, input, wide_samples)) { fprintf(stderr, "ERROR during encoding, state = %d:%s\n", encoder_wrapper.encoder->state, FLAC__EncoderStateString[encoder_wrapper.encoder->state]); goto raw_abort_; diff --git a/src/libFLAC/encoder.c b/src/libFLAC/encoder.c index 82623ac..e4da20f 100644 --- a/src/libFLAC/encoder.c +++ b/src/libFLAC/encoder.c @@ -614,6 +614,7 @@ bool encoder_process_frame_(FLAC__Encoder *encoder, bool is_last_frame) /* * Accumulate raw signal to the MD5 signature */ + /* NOTE: some versions of GCC can't figure out const-ness right and will give you an 'incompatible pointer type' warning on arg 2 here: */ if(!FLAC__MD5Accumulate(&encoder->guts->md5context, encoder->guts->integer_signal, encoder->channels, encoder->blocksize, (encoder->bits_per_sample+7) / 8)) { encoder->state = FLAC__ENCODER_MEMORY_ALLOCATION_ERROR; return false; diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c index d5eee2b..77aa362 100644 --- a/src/libFLAC/stream_decoder.c +++ b/src/libFLAC/stream_decoder.c @@ -782,6 +782,7 @@ bool stream_decoder_read_frame_(FLAC__StreamDecoder *decoder, bool *got_a_frame) decoder->guts->samples_decoded += decoder->guts->frame.header.blocksize; /* write it */ + /* NOTE: some versions of GCC can't figure out const-ness right and will give you an 'incompatible pointer type' warning on arg 3 here: */ if(decoder->guts->write_callback(decoder, &decoder->guts->frame, decoder->guts->output, decoder->guts->client_data) != FLAC__STREAM_DECODER_WRITE_CONTINUE) return false;