Silence a bunch of MSVC warnings

See https://github.com/xiph/flac/issues/313
This commit is contained in:
Martijn van Beurden 2022-04-30 11:55:17 +02:00 committed by GitHub
parent 6cd28e855c
commit e0a874e84b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 50 additions and 8 deletions

View File

@ -577,6 +577,11 @@ void FLAC__format_entropy_coding_method_partitioned_rice_contents_clear(FLAC__En
FLAC__format_entropy_coding_method_partitioned_rice_contents_init(object);
}
#if defined(_MSC_VER)
// silence three MSVC warnings 'result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)'
#pragma warning ( disable : 4334 )
#endif
FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(FLAC__EntropyCodingMethod_PartitionedRiceContents *object, uint32_t max_partition_order)
{
FLAC__ASSERT(0 != object);
@ -594,3 +599,7 @@ FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_s
return true;
}
#if defined(_MSC_VER)
#pragma warning ( default : 4334 )
#endif

View File

@ -576,7 +576,7 @@ FLAC_API off_t FLAC__metadata_simple_iterator_get_block_offset(const FLAC__Metad
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
return iterator->offset[iterator->depth];
return (off_t)iterator->offset[iterator->depth];
}
FLAC_API FLAC__MetadataType FLAC__metadata_simple_iterator_get_block_type(const FLAC__Metadata_SimpleIterator *iterator)
@ -1099,6 +1099,11 @@ static FLAC__bool chain_merge_adjacent_padding_(FLAC__Metadata_Chain *chain, FLA
return false;
}
#if defined(_MSC_VER)
// silence three MSVC warnings 'conversion from 'conversion from 'const __int64' to 'uint32_t', possible loss of data'
#pragma warning ( disable : 4244 )
#endif
/* Returns the new length of the chain, or 0 if there was an error. */
/* WATCHOUT: This can get called multiple times before a write, so
* it should still work when this happens.
@ -1176,6 +1181,10 @@ static FLAC__off_t chain_prepare_for_write_(FLAC__Metadata_Chain *chain, FLAC__b
return current_length;
}
#if defined(_MSC_VER)
#pragma warning ( default : 4244 )
#endif
static FLAC__bool chain_read_cb_(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Seek seek_cb, FLAC__IOCallback_Tell tell_cb)
{
FLAC__Metadata_Node *node;
@ -1625,6 +1634,11 @@ typedef enum {
LBS_BLOCK_REMOVED
} LastBlockState;
#if defined(_MSC_VER)
// silence three MSVC warnings 'conversion from 'conversion from 'const __int64' to 'uint32_t', possible loss of data'
#pragma warning ( disable : 4244 )
#endif
FLAC_API FLAC__bool FLAC__metadata_chain_check_if_tempfile_needed(FLAC__Metadata_Chain *chain, FLAC__bool use_padding)
{
/* This does all the same checks that are in chain_prepare_for_write_()
@ -1702,6 +1716,10 @@ FLAC_API FLAC__bool FLAC__metadata_chain_check_if_tempfile_needed(FLAC__Metadata
return (current_length != chain->initial_length);
}
#if defined(_MSC_VER)
#pragma warning ( default : 4244 )
#endif
FLAC_API FLAC__bool FLAC__metadata_chain_write(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)
{
struct flac_stat_s stats;

View File

@ -1124,7 +1124,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_point
if (num > 32768) {
/* Set the bound and recalculate samples accordingly. */
num = 32768;
samples = total_samples / num;
samples = (uint32_t)(total_samples / num);
}
i = seek_table->num_points;

View File

@ -3928,9 +3928,9 @@ uint32_t find_best_partition_order_(
/* save best parameters and raw_bits */
FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(prc, flac_max(6u, best_partition_order));
memcpy(prc->parameters, private_->partitioned_rice_contents_extra[best_parameters_index].parameters, sizeof(uint32_t)*(1<<(best_partition_order)));
memcpy(prc->parameters, private_->partitioned_rice_contents_extra[best_parameters_index].parameters, (uint32_t)sizeof(uint32_t)*(1<<(best_partition_order)));
if(do_escape_coding)
memcpy(prc->raw_bits, private_->partitioned_rice_contents_extra[best_parameters_index].raw_bits, sizeof(uint32_t)*(1<<(best_partition_order)));
memcpy(prc->raw_bits, private_->partitioned_rice_contents_extra[best_parameters_index].raw_bits, (uint32_t)sizeof(uint32_t)*(1<<(best_partition_order)));
/*
* Now need to check if the type should be changed to
* FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2 based on the

View File

@ -42,6 +42,10 @@
#ifndef FLAC__INTEGER_ONLY_LIBRARY
#if defined(_MSC_VER)
// silence 25 MSVC warnings 'conversion from 'double' to 'float', possible loss of data'
#pragma warning ( disable : 4244 )
#endif
void FLAC__window_bartlett(FLAC__real *window, const FLAC__int32 L)
{
@ -279,4 +283,8 @@ void FLAC__window_welch(FLAC__real *window, const FLAC__int32 L)
}
}
#if defined(_MSC_VER)
#pragma warning ( default : 4244 )
#endif
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */

View File

@ -287,7 +287,7 @@ static const char * read_file (const char * filepath, FLAC__StreamMetadata * obj
if (size < 0)
return error_messages[5];
if (size >= (1u << FLAC__STREAM_METADATA_LENGTH_LEN)) /* actual limit is less because of other fields in the PICTURE metadata block */
if (size >= (FLAC__off_t)(1u << FLAC__STREAM_METADATA_LENGTH_LEN)) /* actual limit is less because of other fields in the PICTURE metadata block */
return error_messages[11];
if ((buffer = safe_malloc_(size)) == NULL)
@ -305,7 +305,7 @@ static const char * read_file (const char * filepath, FLAC__StreamMetadata * obj
}
fclose(file);
if (!FLAC__metadata_object_picture_set_data(obj, buffer, size, /*copy=*/false))
if (!FLAC__metadata_object_picture_set_data(obj, buffer, (FLAC__uint32)size, /*copy=*/false))
error_message = error_messages[6];
/* try to extract MIME type if user left it blank */
else if (*obj->data.picture.mime_type == '\0' && !local__extract_mime_type_(obj))

View File

@ -148,7 +148,7 @@ static FLAC__bool read_pcm_(FLAC__int32 *pcm[], const char *rawfilename, const c
printf("ERROR: PCM verification requires 8 or 16 bps, got %u\n", bps);
return false;
}
samples = rawfilesize / channels / (bps>>3);
samples = (uint32_t)(rawfilesize / channels / (bps>>3));
if (samples > 10000000) {
fprintf(stderr, "ERROR: %s is too big\n", rawfilename);
return false;
@ -320,7 +320,7 @@ static FLAC__bool seek_barrage(FLAC__bool is_ogg, const char *filename, FLAC__of
/* @@@ for is_ogg we should get it from last page's granulepos */
if(n == 0) {
/* 8 would imply no compression, 9 guarantees that we will get some samples off the end of the stream to test that case */
n = 9 * filesize / (decoder_client_data.channels * decoder_client_data.bits_per_sample);
n = (long int)(9 * filesize / (decoder_client_data.channels * decoder_client_data.bits_per_sample));
}
printf("Begin seek barrage, count=%u\n", count);

View File

@ -104,6 +104,10 @@ static FLAC__bool write_little_endian_int32(FILE *f, FLAC__int32 x)
}
#endif
#if defined(_MSC_VER)
// silence 4 MSVC warnings 'conversion from 'FLAC__uint64' to 'int', possible loss of data'
#pragma warning ( disable : 4244 )
#endif
static FLAC__bool write_little_endian_uint64(FILE *f, FLAC__uint64 x)
{
return
@ -117,6 +121,9 @@ static FLAC__bool write_little_endian_uint64(FILE *f, FLAC__uint64 x)
fputc(x >> 56, f) != EOF
;
}
#if defined(_MSC_VER)
#pragma warning ( default : 4244 )
#endif
static FLAC__bool write_big_endian(FILE *f, FLAC__int32 x, size_t bytes)
{