HACK: fix compilation with NASM.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Tue, 8 Nov 2011 19:10:44 +0000 (20:10 +0100)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 20 Nov 2011 11:35:10 +0000 (12:35 +0100)
This issue is actually already fixed in NASM, however it will be a
bit before it arrives everywhere.
This should work as a temporary work-around.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
libavutil/x86/x86inc.asm

index 842a2cc..4e1eef5 100644 (file)
@@ -468,9 +468,19 @@ DECLARE_REG 6, ebp, ebp, bp, null, [esp + stack_offset + 28]
 ; Appends cpuflags to the function name if cpuflags has been specified.
 %macro cglobal 1-2+ ; name, [PROLOGUE args]
 %if %0 == 1
+    ; HACK: work around %+ broken with empty SUFFIX for nasm 2.09.10
+    %ifempty SUFFIX
+    cglobal_internal %1
+    %else
     cglobal_internal %1 %+ SUFFIX
+    %endif
 %else
+    ; HACK: work around %+ broken with empty SUFFIX for nasm 2.09.10
+    %ifempty SUFFIX
+    cglobal_internal %1, %2
+    %else
     cglobal_internal %1 %+ SUFFIX, %2
+    %endif
 %endif
 %endmacro
 %macro cglobal_internal 1-2+
@@ -747,7 +757,12 @@ INIT_XMM
 
 ; Append cpuflags to the callee's name iff the appended name is known and the plain name isn't
 %macro call 1
+    ; HACK: work around %+ broken with empty SUFFIX for nasm 2.09.10
+    %ifempty SUFFIX
+    call_internal %1, %1
+    %else
     call_internal %1, %1 %+ SUFFIX
+    %endif
 %endmacro
 %macro call_internal 2
     %xdefine %%i %1