Skip to content

Commit f1f8c0b

Browse files
Fix GCC12.3 new warnings for RP2040
1 parent 12131e9 commit f1f8c0b

File tree

6 files changed

+78
-75
lines changed

6 files changed

+78
-75
lines changed

src/AudioGeneratorFLAC.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ char AudioGeneratorFLAC::error_cb_str[64];
196196
void AudioGeneratorFLAC::error_cb(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status)
197197
{
198198
(void) decoder;
199-
strncpy_P(error_cb_str, FLAC__StreamDecoderErrorStatusString[status], 64);
199+
strncpy_P(error_cb_str, FLAC__StreamDecoderErrorStatusString[status], sizeof(AudioGeneratorFLAC::error_cb_str) - 1);
200200
cb.st((int)status, error_cb_str);
201201
}
202202

src/libmad/layer3.c

+69-72
Original file line numberDiff line numberDiff line change
@@ -352,19 +352,18 @@ struct fixedfloat {
352352
353353
root_table[3 + x] = 2^(x/4)
354354
*/
355+
static mad_fixed_t const root_table_val[7] PROGMEM = {
356+
MAD_F(0x09837f05) /* 2^(-3/4) == 0.59460355750136 */,
357+
MAD_F(0x0b504f33) /* 2^(-2/4) == 0.70710678118655 */,
358+
MAD_F(0x0d744fcd) /* 2^(-1/4) == 0.84089641525371 */,
359+
MAD_F(0x10000000) /* 2^( 0/4) == 1.00000000000000 */,
360+
MAD_F(0x1306fe0a) /* 2^(+1/4) == 1.18920711500272 */,
361+
MAD_F(0x16a09e66) /* 2^(+2/4) == 1.41421356237310 */,
362+
MAD_F(0x1ae89f99) /* 2^(+3/4) == 1.68179283050743 */
363+
};
355364
static inline mad_fixed_t root_table(int i)
356365
{
357-
static mad_fixed_t const root_table_val[7] PROGMEM = {
358-
MAD_F(0x09837f05) /* 2^(-3/4) == 0.59460355750136 */,
359-
MAD_F(0x0b504f33) /* 2^(-2/4) == 0.70710678118655 */,
360-
MAD_F(0x0d744fcd) /* 2^(-1/4) == 0.84089641525371 */,
361-
MAD_F(0x10000000) /* 2^( 0/4) == 1.00000000000000 */,
362-
MAD_F(0x1306fe0a) /* 2^(+1/4) == 1.18920711500272 */,
363-
MAD_F(0x16a09e66) /* 2^(+2/4) == 1.41421356237310 */,
364-
MAD_F(0x1ae89f99) /* 2^(+3/4) == 1.68179283050743 */
365-
};
366-
volatile uint32_t a = *(uint32_t*)&root_table_val[i];
367-
return *(mad_fixed_t*)&a;
366+
return root_table_val[i];
368367
}
369368
/*
370369
coefficients for aliasing reduction
@@ -374,28 +373,26 @@ static inline mad_fixed_t root_table(int i)
374373
cs[i] = 1 / sqrt(1 + c[i]^2)
375374
ca[i] = c[i] / sqrt(1 + c[i]^2)
376375
*/
376+
static mad_fixed_t const cs_val[8] PROGMEM = {
377+
+MAD_F(0x0db84a81) /* +0.857492926 */, +MAD_F(0x0e1b9d7f) /* +0.881741997 */,
378+
+MAD_F(0x0f31adcf) /* +0.949628649 */, +MAD_F(0x0fbba815) /* +0.983314592 */,
379+
+MAD_F(0x0feda417) /* +0.995517816 */, +MAD_F(0x0ffc8fc8) /* +0.999160558 */,
380+
+MAD_F(0x0fff964c) /* +0.999899195 */, +MAD_F(0x0ffff8d3) /* +0.999993155 */
381+
};
377382
static inline mad_fixed_t cs(int i)
378383
{
379-
static mad_fixed_t const cs_val[8] PROGMEM = {
380-
+MAD_F(0x0db84a81) /* +0.857492926 */, +MAD_F(0x0e1b9d7f) /* +0.881741997 */,
381-
+MAD_F(0x0f31adcf) /* +0.949628649 */, +MAD_F(0x0fbba815) /* +0.983314592 */,
382-
+MAD_F(0x0feda417) /* +0.995517816 */, +MAD_F(0x0ffc8fc8) /* +0.999160558 */,
383-
+MAD_F(0x0fff964c) /* +0.999899195 */, +MAD_F(0x0ffff8d3) /* +0.999993155 */
384-
};
385-
volatile uint32_t a = *(uint32_t*)&cs_val[i];
386-
return *(mad_fixed_t*)&a;
384+
return cs_val[i];
387385
}
388386

387+
static mad_fixed_t const ca_val[8] PROGMEM = {
388+
-MAD_F(0x083b5fe7) /* -0.514495755 */, -MAD_F(0x078c36d2) /* -0.471731969 */,
389+
-MAD_F(0x05039814) /* -0.313377454 */, -MAD_F(0x02e91dd1) /* -0.181913200 */,
390+
-MAD_F(0x0183603a) /* -0.094574193 */, -MAD_F(0x00a7cb87) /* -0.040965583 */,
391+
-MAD_F(0x003a2847) /* -0.014198569 */, -MAD_F(0x000f27b4) /* -0.003699975 */
392+
};
389393
static inline mad_fixed_t ca(int i)
390394
{
391-
static mad_fixed_t const ca_val[8] PROGMEM = {
392-
-MAD_F(0x083b5fe7) /* -0.514495755 */, -MAD_F(0x078c36d2) /* -0.471731969 */,
393-
-MAD_F(0x05039814) /* -0.313377454 */, -MAD_F(0x02e91dd1) /* -0.181913200 */,
394-
-MAD_F(0x0183603a) /* -0.094574193 */, -MAD_F(0x00a7cb87) /* -0.040965583 */,
395-
-MAD_F(0x003a2847) /* -0.014198569 */, -MAD_F(0x000f27b4) /* -0.003699975 */
396-
};
397-
volatile uint32_t a = *(uint32_t*)&ca_val[i];
398-
return *(mad_fixed_t*)&a;
395+
return ca_val[i];
399396
}
400397

401398
/*
@@ -417,32 +414,31 @@ mad_fixed_t const imdct_s[6][6] PROGMEM = {
417414
418415
window_l[i] = sin((PI / 36) * (i + 1/2))
419416
*/
417+
static mad_fixed_t const window_l_val[36] PROGMEM = {
418+
MAD_F(0x00b2aa3e) /* 0.043619387 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
419+
MAD_F(0x03768962) /* 0.216439614 */, MAD_F(0x04cfb0e2) /* 0.300705800 */,
420+
MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x07635284) /* 0.461748613 */,
421+
MAD_F(0x0898c779) /* 0.537299608 */, MAD_F(0x09bd7ca0) /* 0.608761429 */,
422+
MAD_F(0x0acf37ad) /* 0.675590208 */, MAD_F(0x0bcbe352) /* 0.737277337 */,
423+
MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x0d7e8807) /* 0.843391446 */,
424+
425+
MAD_F(0x0e313245) /* 0.887010833 */, MAD_F(0x0ec835e8) /* 0.923879533 */,
426+
MAD_F(0x0f426cb5) /* 0.953716951 */, MAD_F(0x0f9ee890) /* 0.976296007 */,
427+
MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ffc19fd) /* 0.999048222 */,
428+
MAD_F(0x0ffc19fd) /* 0.999048222 */, MAD_F(0x0fdcf549) /* 0.991444861 */,
429+
MAD_F(0x0f9ee890) /* 0.976296007 */, MAD_F(0x0f426cb5) /* 0.953716951 */,
430+
MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0e313245) /* 0.887010833 */,
431+
432+
MAD_F(0x0d7e8807) /* 0.843391446 */, MAD_F(0x0cb19346) /* 0.793353340 */,
433+
MAD_F(0x0bcbe352) /* 0.737277337 */, MAD_F(0x0acf37ad) /* 0.675590208 */,
434+
MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0898c779) /* 0.537299608 */,
435+
MAD_F(0x07635284) /* 0.461748613 */, MAD_F(0x061f78aa) /* 0.382683432 */,
436+
MAD_F(0x04cfb0e2) /* 0.300705800 */, MAD_F(0x03768962) /* 0.216439614 */,
437+
MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x00b2aa3e) /* 0.043619387 */,
438+
};
420439
static inline mad_fixed_t window_l(int i)
421440
{
422-
static mad_fixed_t const window_l_val[36] PROGMEM = {
423-
MAD_F(0x00b2aa3e) /* 0.043619387 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
424-
MAD_F(0x03768962) /* 0.216439614 */, MAD_F(0x04cfb0e2) /* 0.300705800 */,
425-
MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x07635284) /* 0.461748613 */,
426-
MAD_F(0x0898c779) /* 0.537299608 */, MAD_F(0x09bd7ca0) /* 0.608761429 */,
427-
MAD_F(0x0acf37ad) /* 0.675590208 */, MAD_F(0x0bcbe352) /* 0.737277337 */,
428-
MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x0d7e8807) /* 0.843391446 */,
429-
430-
MAD_F(0x0e313245) /* 0.887010833 */, MAD_F(0x0ec835e8) /* 0.923879533 */,
431-
MAD_F(0x0f426cb5) /* 0.953716951 */, MAD_F(0x0f9ee890) /* 0.976296007 */,
432-
MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ffc19fd) /* 0.999048222 */,
433-
MAD_F(0x0ffc19fd) /* 0.999048222 */, MAD_F(0x0fdcf549) /* 0.991444861 */,
434-
MAD_F(0x0f9ee890) /* 0.976296007 */, MAD_F(0x0f426cb5) /* 0.953716951 */,
435-
MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0e313245) /* 0.887010833 */,
436-
437-
MAD_F(0x0d7e8807) /* 0.843391446 */, MAD_F(0x0cb19346) /* 0.793353340 */,
438-
MAD_F(0x0bcbe352) /* 0.737277337 */, MAD_F(0x0acf37ad) /* 0.675590208 */,
439-
MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0898c779) /* 0.537299608 */,
440-
MAD_F(0x07635284) /* 0.461748613 */, MAD_F(0x061f78aa) /* 0.382683432 */,
441-
MAD_F(0x04cfb0e2) /* 0.300705800 */, MAD_F(0x03768962) /* 0.216439614 */,
442-
MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x00b2aa3e) /* 0.043619387 */,
443-
};
444-
volatile uint32_t a = *(uint32_t*)&window_l_val[i];
445-
return *(mad_fixed_t*)&a;
441+
return window_l_val[i];
446442
}
447443
# endif /* ASO_IMDCT */
448444

@@ -452,18 +448,17 @@ static inline mad_fixed_t window_l(int i)
452448
453449
window_s[i] = sin((PI / 12) * (i + 1/2))
454450
*/
451+
static mad_fixed_t const window_s_val[12] PROGMEM = {
452+
MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x061f78aa) /* 0.382683432 */,
453+
MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0cb19346) /* 0.793353340 */,
454+
MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0fdcf549) /* 0.991444861 */,
455+
MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ec835e8) /* 0.923879533 */,
456+
MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x09bd7ca0) /* 0.608761429 */,
457+
MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
458+
};
455459
static inline mad_fixed_t window_s(int i)
456460
{
457-
static mad_fixed_t const window_s_val[12] PROGMEM = {
458-
MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x061f78aa) /* 0.382683432 */,
459-
MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0cb19346) /* 0.793353340 */,
460-
MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0fdcf549) /* 0.991444861 */,
461-
MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ec835e8) /* 0.923879533 */,
462-
MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x09bd7ca0) /* 0.608761429 */,
463-
MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
464-
};
465-
volatile uint32_t a = *(uint32_t*)&window_s_val[i];
466-
return *(mad_fixed_t*)&a;
461+
return window_s_val[i];
467462
}
468463

469464
/*
@@ -473,19 +468,18 @@ static inline mad_fixed_t window_s(int i)
473468
is_ratio[i] = tan(i * (PI / 12))
474469
is_table[i] = is_ratio[i] / (1 + is_ratio[i])
475470
*/
471+
static mad_fixed_t const is_table_val[7] PROGMEM = {
472+
MAD_F(0x00000000) /* 0.000000000 */,
473+
MAD_F(0x0361962f) /* 0.211324865 */,
474+
MAD_F(0x05db3d74) /* 0.366025404 */,
475+
MAD_F(0x08000000) /* 0.500000000 */,
476+
MAD_F(0x0a24c28c) /* 0.633974596 */,
477+
MAD_F(0x0c9e69d1) /* 0.788675135 */,
478+
MAD_F(0x10000000) /* 1.000000000 */
479+
};
476480
static inline mad_fixed_t is_table(int i)
477481
{
478-
static mad_fixed_t const is_table_val[7] PROGMEM = {
479-
MAD_F(0x00000000) /* 0.000000000 */,
480-
MAD_F(0x0361962f) /* 0.211324865 */,
481-
MAD_F(0x05db3d74) /* 0.366025404 */,
482-
MAD_F(0x08000000) /* 0.500000000 */,
483-
MAD_F(0x0a24c28c) /* 0.633974596 */,
484-
MAD_F(0x0c9e69d1) /* 0.788675135 */,
485-
MAD_F(0x10000000) /* 1.000000000 */
486-
};
487-
volatile uint32_t a = *(uint32_t*)&is_table_val[i];
488-
return *(mad_fixed_t*)&a;
482+
return is_table_val[i];
489483
}
490484

491485
/*
@@ -1739,7 +1733,10 @@ void sdctII(mad_fixed_t const x[18], mad_fixed_t X[18])
17391733
s = *(volatile mad_fixed_t*)(volatile uint32_t*)&scale[i + 2]; tmp[i + 2] = mad_f_mul(x[i + 2] - x[18 - (i + 2) - 1], s); //scale[i + 2]);
17401734
}
17411735

1736+
#pragma GCC diagnostic push
1737+
#pragma GCC diagnostic ignored "-Wstringop-overflow"
17421738
fastsdct(tmp, &X[1]);
1739+
#pragma GCC diagnostic pop
17431740

17441741
/* output accumulation */
17451742

src/libopus/silk/NLSF2A.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ static OPUS_INLINE void silk_NLSF2A_find_poly(
6262
}
6363
}
6464

65+
#pragma GCC diagnostic push
66+
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
6567
/* compute whitening filter coefficients from normalized line spectral frequencies */
6668
void silk_NLSF2A(
6769
opus_int16 *a_Q12, /* O monic whitening filter coefficients in Q12, [ d ] */
@@ -143,4 +145,4 @@ void silk_NLSF2A(
143145
free(Q);
144146
free(a32_QA1);
145147
}
146-
148+
#pragma GCC diagnostic pop

src/libopus/silk/enc_API.c

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2424
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2525
POSSIBILITY OF SUCH DAMAGE.
2626
***********************************************************************/
27+
#if 0
2728

2829
//#ifdef HAVE_CONFIG_H
2930
#include "../config.h"
@@ -574,3 +575,4 @@ opus_int silk_Encode( /* O Returns error co
574575
return ret;
575576
}
576577

578+
#endif

src/libopus/silk/fixed/encode_frame_FIX.c

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ POSSIBILITY OF SUCH DAMAGE.
3434
#include "../../celt/stack_alloc.h"
3535
#include "../tuning_parameters.h"
3636

37+
#if 0
3738
/* Low Bitrate Redundancy (LBRR) encoding. Reuse all parameters but encode with lower bitrate */
3839
static OPUS_INLINE void silk_LBRR_encode_FIX(
3940
silk_encoder_state_FIX *psEnc, /* I/O Pointer to Silk FIX encoder state */
@@ -446,3 +447,4 @@ static OPUS_INLINE void silk_LBRR_encode_FIX(
446447
silk_memcpy( psEncCtrl->Gains_Q16, TempGains_Q16, psEnc->sCmn.nb_subfr * sizeof( opus_int32 ) );
447448
}
448449
}
450+
#endif

src/opusfile/opusfile.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1749,7 +1749,7 @@ opus_int64 op_raw_total(const OggOpusFile *_of,int _li){
17491749
ogg_int64_t op_pcm_total(const OggOpusFile *_of,int _li){
17501750
OggOpusLink *links;
17511751
ogg_int64_t pcm_total;
1752-
ogg_int64_t diff;
1752+
ogg_int64_t diff = 0;
17531753
int nlinks;
17541754
nlinks=_of->nlinks;
17551755
if(OP_UNLIKELY(_of->ready_state<OP_OPENED)

0 commit comments

Comments
 (0)