Mercurial > sdl-ios-xcode
annotate src/audio/SDL_mixer_MMX.h @ 5130:f2c2f0ecba5f
Fixed bug #1111
kwm@rainbow-runner.nl 2011-01-30 06:28:27 PST
Created attachment 562 [details]
Build fix with clang.
When building sdl 1.2.14 with the Clang compiler http://clang.llvm.org .
The build fails in src/video/mmx.h with the following error:
--------------------------------------------------
./src/video/SDL_RLEaccel.c:831:5: error: invalid operand for instruction
CHOOSE_BLIT(RLECLIPBLIT, alpha, fmt);
^
./src/video/SDL_RLEaccel.c:831:17: note: instantiated from:
CHOOSE_BLIT(RLECLIPBLIT, alpha, fmt);
^
./src/video/SDL_RLEaccel.c:831:5: note: instantiated from:
CHOOSE_BLIT(RLECLIPBLIT, alpha, fmt);
^
./src/video/SDL_RLEaccel.c:647:23: note: instantiated from:
blitter(2, Uint8, ALPHA_BLIT16_565MMX); \
^
./src/video/SDL_RLEaccel.c:282:4: note: instantiated from:
movq_r2m(mm3, *dstp); \
^
In file included from ./src/video/SDL_RLEaccel.c:99:
./src/video/mmx.h:379:28: note: instantiated from:
#define movq_r2m(reg, var) mmx_r2m(movq, reg, var)
^
<scratch space>:192:1: note: instantiated from:
"movq"
^
<inline asm>:1:2: note: instantiated into assembly here
movq %mm3, %dx
^
--------------------------------------------------
According to the clang developers this is a invalid inline assembly.
Using the attached patch from the last commit in the below bug report fixes the
compile.
More details from: http://llvm.org/bugs/show_bug.cgi?id=6730
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 30 Jan 2011 13:42:05 -0800 |
parents | 4d46850be3f6 |
children |
rev | line source |
---|---|
1019
e3b3130f3af8
Date: Fri, 31 Dec 2004 04:14:09 +0900
Sam Lantinga <slouken@libsdl.org>
parents:
539
diff
changeset
|
1 /* |
e3b3130f3af8
Date: Fri, 31 Dec 2004 04:14:09 +0900
Sam Lantinga <slouken@libsdl.org>
parents:
539
diff
changeset
|
2 headers for MMX assembler version of SDL_MixAudio |
e3b3130f3af8
Date: Fri, 31 Dec 2004 04:14:09 +0900
Sam Lantinga <slouken@libsdl.org>
parents:
539
diff
changeset
|
3 Copyright 2002 Stephane Marchesin (stephane.marchesin@wanadoo.fr) |
e3b3130f3af8
Date: Fri, 31 Dec 2004 04:14:09 +0900
Sam Lantinga <slouken@libsdl.org>
parents:
539
diff
changeset
|
4 This code is licensed under the LGPL (see COPYING for details) |
e3b3130f3af8
Date: Fri, 31 Dec 2004 04:14:09 +0900
Sam Lantinga <slouken@libsdl.org>
parents:
539
diff
changeset
|
5 |
e3b3130f3af8
Date: Fri, 31 Dec 2004 04:14:09 +0900
Sam Lantinga <slouken@libsdl.org>
parents:
539
diff
changeset
|
6 Assumes buffer size in bytes is a multiple of 16 |
e3b3130f3af8
Date: Fri, 31 Dec 2004 04:14:09 +0900
Sam Lantinga <slouken@libsdl.org>
parents:
539
diff
changeset
|
7 Assumes SDL_MIX_MAXVOLUME = 128 |
e3b3130f3af8
Date: Fri, 31 Dec 2004 04:14:09 +0900
Sam Lantinga <slouken@libsdl.org>
parents:
539
diff
changeset
|
8 */ |
1402
d910939febfa
Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents:
1019
diff
changeset
|
9 #include "SDL_config.h" |
539
a9e38f3b8e4d
Added MMX audio mixing code for gcc (thanks Stephane!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 |
3628
4d46850be3f6
Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX mixers.
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
11 #if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */ |
1487
dc6b59e925a2
Cleaning up warnings on MacOS X
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
12 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES) |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1487
diff
changeset
|
13 void SDL_MixAudio_MMX_S16(char *, char *, unsigned int, int); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1487
diff
changeset
|
14 void SDL_MixAudio_MMX_S8(char *, char *, unsigned int, int); |
539
a9e38f3b8e4d
Added MMX audio mixing code for gcc (thanks Stephane!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 #endif |
3628
4d46850be3f6
Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX mixers.
Ryan C. Gordon <icculus@icculus.org>
parents:
1895
diff
changeset
|
16 #endif /* SDL_BUGGY_MMX_MIXERS */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1487
diff
changeset
|
17 /* vi: set ts=4 sw=4 expandtab: */ |