summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-08-17 17:13:56 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-08-17 17:13:56 +0000
commitf70e45ac298dd9737c13f28ab95d6a628337e3af (patch)
treeda052e24a17fcc46d76120a9e25b33741417c16b /apps/codecs
parente5f1fe93b5245ee75fb8bf421c3c3da99f7efe35 (diff)
downloadrockbox-f70e45ac298dd9737c13f28ab95d6a628337e3af.zip
rockbox-f70e45ac298dd9737c13f28ab95d6a628337e3af.tar.gz
rockbox-f70e45ac298dd9737c13f28ab95d6a628337e3af.tar.bz2
rockbox-f70e45ac298dd9737c13f28ab95d6a628337e3af.tar.xz
Adding a slightly painful workaround to silence a compiler warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10636 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/libmad/synth.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/apps/codecs/libmad/synth.c b/apps/codecs/libmad/synth.c
index 2da8f64..8f535ec 100644
--- a/apps/codecs/libmad/synth.c
+++ b/apps/codecs/libmad/synth.c
@@ -30,6 +30,20 @@
# include "synth.h"
/*
+ * This is a slightly painful workaround to silence a warning that happens
+ * with 4.1 if the const is used and with <= 4.0 if the const is not used.
+ * So in a bright future when we are >= 4.1 only we can remove this kludge
+ * again.
+ */
+#if ((__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 1)))
+/* before gcc 4.1 */
+#define CONST_TO_CONST_STRUCT_FIELD const
+#else
+/* after and including gcc 4.1 */
+#define CONST_TO_CONST_STRUCT_FIELD
+#endif
+
+/*
* NAME: synth->init()
* DESCRIPTION: initialize synth struct
*/
@@ -825,7 +839,7 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame,
int p;
unsigned int phase, ch, s, sb;
mad_fixed_t *pcm, (*filter)[2][2][16][8];
- mad_fixed_t const (*sbsample)[36][32];
+ mad_fixed_t CONST_TO_CONST_STRUCT_FIELD (*sbsample)[36][32];
mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8];
mad_fixed_t const (*D0ptr)[32], *ptr;
mad_fixed_t const (*D1ptr)[32];
@@ -1033,7 +1047,7 @@ void synth_half(struct mad_synth *synth, struct mad_frame const *frame,
{
unsigned int phase, ch, s, sb, pe, po;
mad_fixed_t *pcm1, *pcm2, (*filter)[2][2][16][8];
- mad_fixed_t const (*sbsample)[36][32];
+ mad_fixed_t CONST_TO_CONST_STRUCT_FIELD (*sbsample)[36][32];
register mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8];
register mad_fixed_t const (*Dptr)[32], *ptr;
register mad_fixed64hi_t hi;