summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-18 16:48:50 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-18 16:48:50 +0000
commit33832856df0726c67b1ac783da9b7c20311196f6 (patch)
treec524fa35da268cf3b5fa48ebd9e51185693bb48c
parentec56167e117122e379e1d19b121686dbf0b3dca3 (diff)
downloadmpv-33832856df0726c67b1ac783da9b7c20311196f6.tar.bz2
mpv-33832856df0726c67b1ac783da9b7c20311196f6.tar.xz
Replace preprocessor hacks to work around compilers not supporting named
assembler arguments with a proper configure check. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19894 b3059339-0415-0410-9bf9-f77b7e298cf2
-rwxr-xr-xconfigure15
-rw-r--r--libmpcodecs/vf_yadif.c8
2 files changed, 17 insertions, 6 deletions
diff --git a/configure b/configure
index fdd819753d..b1acf18c60 100755
--- a/configure
+++ b/configure
@@ -1536,6 +1536,18 @@ int main(void) { return 0; }
EOF
cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
+
+echocheck "compiler support of named assembler arguments"
+_named_asm_args=yes
+_def_named_asm_args="#define NAMED_ASM_ARGS 1"
+if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
+ -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
+ _named_asm_args=no
+ _def_named_asm_args="#undef NAMED_ASM_ARGS"
+fi
+echores $_named_asm_args
+
+
# Checking for CFLAGS
_stripbinaries=yes
if test "$_profile" != "" || test "$_debug" != "" ; then
@@ -7641,6 +7653,9 @@ $_def_builtin_expect
# define attribute_used
#endif
+/* compiler support for named assembler arguments */
+$_def_named_asm_args
+
#define PREFIX "$_prefix"
#define USE_OSD 1
diff --git a/libmpcodecs/vf_yadif.c b/libmpcodecs/vf_yadif.c
index f58c7718d6..c2567e8ddb 100644
--- a/libmpcodecs/vf_yadif.c
+++ b/libmpcodecs/vf_yadif.c
@@ -71,11 +71,7 @@ static void store_ref(struct vf_priv_s *p, uint8_t *src[3], int src_stride[3], i
}
}
-#if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ == 0)
-#undef HAVE_MMX
-#endif
-
-#ifdef HAVE_MMX
+#if defined(HAVE_MMX) && defined(NAMED_ASM_ARGS)
#define LOAD4(mem,dst) \
"movd "mem", "#dst" \n\t"\
@@ -288,7 +284,7 @@ static void filter_line_mmx2(struct vf_priv_s *p, uint8_t *dst, uint8_t *prev, u
#undef CHECK2
#undef FILTER
-#endif // HAVE_MMX
+#endif /* defined(HAVE_MMX) && defined(NAMED_ASM_ARGS) */
static void filter_line_c(struct vf_priv_s *p, uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8_t *next, int w, int refs, int parity){
int x;