Skip to content
Permalink
Browse files

Fixed some ultra-pedantic gcc warnings

  • Loading branch information
slouken committed Mar 24, 2006
1 parent 8a02c3d commit 48ec09f60bca21f9a36e791eec5413c82cd3fad0
@@ -90,11 +90,11 @@ void SDL_SetError (const char *fmt, ...)
break;
case 's':
{
int index = error->argc;
char *str = va_arg(ap, char *);
int i = error->argc;
const char *str = va_arg(ap, const char *);
if (str == NULL)
str = "(null)";
SDL_strlcpy((char *)error->args[index].buf, str, ERR_MAX_STRLEN);
SDL_strlcpy((char *)error->args[i].buf, str, ERR_MAX_STRLEN);
error->argc++;
}
break;
@@ -40,11 +40,11 @@ void SDL_MixAudio_MMX_S16(char* dst,char* src,unsigned int size,int volume)
{
__asm__ __volatile__ (

" movl %3,%%eax\n" // eax = volume
" movl %3,%%eax\n" /* eax = volume */

" movl %2,%%edx\n" // edx = size
" movl %2,%%edx\n" /* edx = size */

" shrl $4,%%edx\n" // process 16 bytes per iteration = 8 samples
" shrl $4,%%edx\n" /* process 16 bytes per iteration = 8 samples */

" jz .endS16\n"

@@ -57,62 +57,62 @@ void SDL_MixAudio_MMX_S16(char* dst,char* src,unsigned int size,int volume)
" psllq $16,%%mm0\n"
" por %%mm1,%%mm0\n"
" psllq $16,%%mm0\n"
" por %%mm1,%%mm0\n" // mm0 = vol|vol|vol|vol
" por %%mm1,%%mm0\n" /* mm0 = vol|vol|vol|vol */

".align 8\n"
" .mixloopS16:\n"

" movq (%1),%%mm1\n" // mm1 = a|b|c|d
" movq (%1),%%mm1\n" /* mm1 = a|b|c|d */

" movq %%mm1,%%mm2\n" // mm2 = a|b|c|d
" movq %%mm1,%%mm2\n" /* mm2 = a|b|c|d */

" movq 8(%1),%%mm4\n" // mm4 = e|f|g|h
" movq 8(%1),%%mm4\n" /* mm4 = e|f|g|h */

// pré charger le buffer dst dans mm7
" movq (%0),%%mm7\n" // mm7 = dst[0]"
/* pré charger le buffer dst dans mm7 */
" movq (%0),%%mm7\n" /* mm7 = dst[0] */

// multiplier par le volume
" pmullw %%mm0,%%mm1\n" // mm1 = l(a*v)|l(b*v)|l(c*v)|l(d*v)
/* multiplier par le volume */
" pmullw %%mm0,%%mm1\n" /* mm1 = l(a*v)|l(b*v)|l(c*v)|l(d*v) */

" pmulhw %%mm0,%%mm2\n" // mm2 = h(a*v)|h(b*v)|h(c*v)|h(d*v)
" movq %%mm4,%%mm5\n" // mm5 = e|f|g|h
" pmulhw %%mm0,%%mm2\n" /* mm2 = h(a*v)|h(b*v)|h(c*v)|h(d*v) */
" movq %%mm4,%%mm5\n" /* mm5 = e|f|g|h */

" pmullw %%mm0,%%mm4\n" // mm4 = l(e*v)|l(f*v)|l(g*v)|l(h*v)
" pmullw %%mm0,%%mm4\n" /* mm4 = l(e*v)|l(f*v)|l(g*v)|l(h*v) */

" pmulhw %%mm0,%%mm5\n" // mm5 = h(e*v)|h(f*v)|h(g*v)|h(h*v)
" movq %%mm1,%%mm3\n" // mm3 = l(a*v)|l(b*v)|l(c*v)|l(d*v)
" pmulhw %%mm0,%%mm5\n" /* mm5 = h(e*v)|h(f*v)|h(g*v)|h(h*v) */
" movq %%mm1,%%mm3\n" /* mm3 = l(a*v)|l(b*v)|l(c*v)|l(d*v) */

" punpckhwd %%mm2,%%mm1\n" // mm1 = a*v|b*v
" punpckhwd %%mm2,%%mm1\n" /* mm1 = a*v|b*v */

" movq %%mm4,%%mm6\n" // mm6 = l(e*v)|l(f*v)|l(g*v)|l(h*v)
" punpcklwd %%mm2,%%mm3\n" // mm3 = c*v|d*v
" movq %%mm4,%%mm6\n" /* mm6 = l(e*v)|l(f*v)|l(g*v)|l(h*v) */
" punpcklwd %%mm2,%%mm3\n" /* mm3 = c*v|d*v */

" punpckhwd %%mm5,%%mm4\n" // mm4 = e*f|f*v
" punpckhwd %%mm5,%%mm4\n" /* mm4 = e*f|f*v */

" punpcklwd %%mm5,%%mm6\n" // mm6 = g*v|h*v
" punpcklwd %%mm5,%%mm6\n" /* mm6 = g*v|h*v */

// pré charger le buffer dst dans mm5
" movq 8(%0),%%mm5\n" // mm5 = dst[1]
/* pré charger le buffer dst dans mm5 */
" movq 8(%0),%%mm5\n" /* mm5 = dst[1] */

// diviser par 128
" psrad $7,%%mm1\n" // mm1 = a*v/128|b*v/128 , 128 = SDL_MIX_MAXVOLUME
/* diviser par 128 */
" psrad $7,%%mm1\n" /* mm1 = a*v/128|b*v/128 , 128 = SDL_MIX_MAXVOLUME */
" add $16,%1\n"

" psrad $7,%%mm3\n" // mm3 = c*v/128|d*v/128
" psrad $7,%%mm3\n" /* mm3 = c*v/128|d*v/128 */

" psrad $7,%%mm4\n" // mm4 = e*v/128|f*v/128
" psrad $7,%%mm4\n" /* mm4 = e*v/128|f*v/128 */

// mm1 = le sample avec le volume modifié
" packssdw %%mm1,%%mm3\n" // mm3 = s(a*v|b*v|c*v|d*v)
/* mm1 = le sample avec le volume modifié */
" packssdw %%mm1,%%mm3\n" /* mm3 = s(a*v|b*v|c*v|d*v) */

" psrad $7,%%mm6\n" // mm6= g*v/128|h*v/128
" paddsw %%mm7,%%mm3\n" // mm3 = adjust_volume(src)+dst
" psrad $7,%%mm6\n" /* mm6= g*v/128|h*v/128 */
" paddsw %%mm7,%%mm3\n" /* mm3 = adjust_volume(src)+dst */

// mm4 = le sample avec le volume modifié
" packssdw %%mm4,%%mm6\n" // mm6 = s(e*v|f*v|g*v|h*v)
/* mm4 = le sample avec le volume modifié */
" packssdw %%mm4,%%mm6\n" /* mm6 = s(e*v|f*v|g*v|h*v) */
" movq %%mm3,(%0)\n"

" paddsw %%mm5,%%mm6\n" // mm6 = adjust_volume(src)+dst
" paddsw %%mm5,%%mm6\n" /* mm6 = adjust_volume(src)+dst */

" movq %%mm6,8(%0)\n"

@@ -134,15 +134,15 @@ void SDL_MixAudio_MMX_S16(char* dst,char* src,unsigned int size,int volume)



////////////////////////////////////////////////
// Mixing for 8 bit signed buffers
////////////////////////////////////////////////
/*////////////////////////////////////////////// */
/* Mixing for 8 bit signed buffers */
/*////////////////////////////////////////////// */

void SDL_MixAudio_MMX_S8(char* dst,char* src,unsigned int size,int volume)
{
__asm__ __volatile__ (

" movl %3,%%eax\n" // eax = volume
" movl %3,%%eax\n" /* eax = volume */

" movd %%eax,%%mm0\n"
" movq %%mm0,%%mm1\n"
@@ -153,41 +153,41 @@ void SDL_MixAudio_MMX_S8(char* dst,char* src,unsigned int size,int volume)
" psllq $16,%%mm0\n"
" por %%mm1,%%mm0\n"

" movl %2,%%edx\n" // edx = size
" shr $3,%%edx\n" // process 8 bytes per iteration = 8 samples
" movl %2,%%edx\n" /* edx = size */
" shr $3,%%edx\n" /* process 8 bytes per iteration = 8 samples */

" cmp $0,%%edx\n"
" je .endS8\n"

".align 8\n"
" .mixloopS8:\n"

" pxor %%mm2,%%mm2\n" // mm2 = 0
" movq (%1),%%mm1\n" // mm1 = a|b|c|d|e|f|g|h
" pxor %%mm2,%%mm2\n" /* mm2 = 0 */
" movq (%1),%%mm1\n" /* mm1 = a|b|c|d|e|f|g|h */

" movq %%mm1,%%mm3\n" // mm3 = a|b|c|d|e|f|g|h
" movq %%mm1,%%mm3\n" /* mm3 = a|b|c|d|e|f|g|h */

// on va faire le "sign extension" en faisant un cmp avec 0 qui retourne 1 si <0, 0 si >0
" pcmpgtb %%mm1,%%mm2\n" // mm2 = 11111111|00000000|00000000....
/* on va faire le "sign extension" en faisant un cmp avec 0 qui retourne 1 si <0, 0 si >0 */
" pcmpgtb %%mm1,%%mm2\n" /* mm2 = 11111111|00000000|00000000.... */

" punpckhbw %%mm2,%%mm1\n" // mm1 = 0|a|0|b|0|c|0|d
" punpckhbw %%mm2,%%mm1\n" /* mm1 = 0|a|0|b|0|c|0|d */

" punpcklbw %%mm2,%%mm3\n" // mm3 = 0|e|0|f|0|g|0|h
" movq (%0),%%mm2\n" // mm2 = destination
" punpcklbw %%mm2,%%mm3\n" /* mm3 = 0|e|0|f|0|g|0|h */
" movq (%0),%%mm2\n" /* mm2 = destination */

" pmullw %%mm0,%%mm1\n" // mm1 = v*a|v*b|v*c|v*d
" pmullw %%mm0,%%mm1\n" /* mm1 = v*a|v*b|v*c|v*d */
" add $8,%1\n"

" pmullw %%mm0,%%mm3\n" // mm3 = v*e|v*f|v*g|v*h
" psraw $7,%%mm1\n" // mm1 = v*a/128|v*b/128|v*c/128|v*d/128
" pmullw %%mm0,%%mm3\n" /* mm3 = v*e|v*f|v*g|v*h */
" psraw $7,%%mm1\n" /* mm1 = v*a/128|v*b/128|v*c/128|v*d/128 */

" psraw $7,%%mm3\n" // mm3 = v*e/128|v*f/128|v*g/128|v*h/128
" psraw $7,%%mm3\n" /* mm3 = v*e/128|v*f/128|v*g/128|v*h/128 */

" packsswb %%mm1,%%mm3\n" // mm1 = v*a/128|v*b/128|v*c/128|v*d/128|v*e/128|v*f/128|v*g/128|v*h/128
" packsswb %%mm1,%%mm3\n" /* mm1 = v*a/128|v*b/128|v*c/128|v*d/128|v*e/128|v*f/128|v*g/128|v*h/128 */

" paddsb %%mm2,%%mm3\n" // add to destination buffer
" paddsb %%mm2,%%mm3\n" /* add to destination buffer */

" movq %%mm3,(%0)\n" // store back to ram
" movq %%mm3,(%0)\n" /* store back to ram */
" add $8,%0\n"

" dec %%edx\n"
@@ -329,7 +329,7 @@ static int IMA_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
struct IMA_ADPCM_decodestate *state;
Uint8 *freeable, *encoded, *decoded;
Sint32 encoded_len, samplesleft;
int c, channels;
unsigned int c, channels;

/* Check to make sure we have enough variables in the state array */
channels = IMA_ADPCM_state.wavefmt.channels;
@@ -288,8 +288,8 @@ static int DSP_OpenAudio(_THIS, SDL_AudioSpec *spec)
SDL_CalculateAudioSpec(spec);

/* Determine the power of two of the fragment size */
for ( frag_spec = 0; (0x01<<frag_spec) < spec->size; ++frag_spec );
if ( (0x01<<frag_spec) != spec->size ) {
for ( frag_spec = 0; (0x01U<<frag_spec) < spec->size; ++frag_spec );
if ( (0x01U<<frag_spec) != spec->size ) {
SDL_SetError("Fragment size must be a power of two");
DSP_CloseAudio(this);
return(-1);
@@ -29,8 +29,8 @@ extern int SDL_StartEventLoop(Uint32 flags);
extern void SDL_StopEventLoop(void);
extern void SDL_QuitInterrupt(void);

extern void SDL_Lock_EventThread();
extern void SDL_Unlock_EventThread();
extern void SDL_Lock_EventThread(void);
extern void SDL_Unlock_EventThread(void);
extern Uint32 SDL_EventThreadID(void);

/* Event handler init routines */
@@ -34,7 +34,7 @@ static Uint8 SDL_KeyState[SDLK_LAST];
static SDLMod SDL_ModState;
int SDL_TranslateUNICODE = 0;

static char *keynames[SDLK_LAST]; /* Array of keycode names */
static const char *keynames[SDLK_LAST]; /* Array of keycode names */

/*
* jk 991215 - added
@@ -356,7 +356,7 @@ void SDL_SetModState (SDLMod modstate)

char *SDL_GetKeyName(SDLKey key)
{
char *keyname;
const char *keyname;

keyname = NULL;
if ( key < SDLK_LAST ) {
@@ -365,7 +365,8 @@ char *SDL_GetKeyName(SDLKey key)
if ( keyname == NULL ) {
keyname = "unknown key";
}
return(keyname);
/* FIXME: make this function const in 1.3 */
return (char *)(keyname);
}

/* These are global for SDL_eventloop.c */
@@ -550,7 +550,7 @@ int SDL_JoystickEventState(int state)
SDL_JOYAXISMOTION, SDL_JOYBALLMOTION, SDL_JOYHATMOTION,
SDL_JOYBUTTONDOWN, SDL_JOYBUTTONUP,
};
int i;
unsigned int i;

switch (state) {
case SDL_QUERY:
@@ -55,7 +55,7 @@ int SDL_ThreadsInit(void)
clean up threads here. If any threads are still running after this call,
they will no longer have access to any per-thread data.
*/
void SDL_ThreadsQuit()
void SDL_ThreadsQuit(void)
{
SDL_mutex *mutex;

@@ -43,14 +43,14 @@ static void CalculateGammaRamp(float gamma, Uint16 *ramp)
int i;

/* 0.0 gamma is all black */
if ( gamma <= 0.0 ) {
if ( gamma <= 0.0f ) {
for ( i=0; i<256; ++i ) {
ramp[i] = 0;
}
return;
} else
/* 1.0 gamma is identity */
if ( gamma == 1.0 ) {
if ( gamma >= 1.0f ) {
for ( i=0; i<256; ++i ) {
ramp[i] = (i << 8) | i;
}
@@ -73,7 +73,7 @@ static void CalculateGammaFromRamp(float *gamma, Uint16 *ramp)
/* The following is adapted from a post by Garrett Bass on OpenGL
Gamedev list, March 4, 2000.
*/
float sum = 0.0;
float sum = 0.0f;
int i, count = 0;

*gamma = 1.0;
@@ -85,7 +85,7 @@ static void CalculateGammaFromRamp(float *gamma, Uint16 *ramp)
count++;
}
}
if ( count && sum ) {
if ( count && sum > 0.0f ) {
*gamma = 1.0f / (sum / count);
}
}

0 comments on commit 48ec09f

Please sign in to comment.