summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2017-11-10 15:40:30 +0100
committerDiego Biurrun <diego@biurrun.de>2018-02-06 11:13:10 +0100
commit38434a9ff5b9a1a048f32c1c7e2a9519cf12f8ba (patch)
tree5d64e4b9c59b11f5935680c8fa49c04682900c94
parent4cf84e254ae75b524e1cacae499a97d7cc9e5906 (diff)
configure: Simplify restrict keyword handling
Skip a variable indirection and only redefine restrict if necessary.
-rwxr-xr-xconfigure13
1 files changed, 7 insertions, 6 deletions
diff --git a/configure b/configure
index 9f84f88014..b4c6320f7a 100755
--- a/configure
+++ b/configure
@@ -4144,9 +4144,8 @@ extern_prefix=${sym%%ff_extern*}
! disabled inline_asm && check_inline_asm inline_asm '"" ::'
-_restrict=
-for restrict_keyword in restrict __restrict__ __restrict; do
- check_cc <<EOF && _restrict=$restrict_keyword && break
+for restrict_keyword in restrict __restrict__ __restrict ""; do
+ check_cc <<EOF && break
void foo(char * $restrict_keyword p);
EOF
done
@@ -4974,9 +4973,9 @@ elif enabled_any msvc icl; then
# MSVC 2013 and newer can handle it fine.
# If this declspec fails, force including stdlib.h before the restrict redefinition
# happens in config.h.
- if [ $_restrict != restrict ]; then
+ if [ $restrict_keyword != restrict ]; then
check_cc <<EOF || add_cflags -FIstdlib.h
-__declspec($_restrict) void* foo(int);
+__declspec($restrict_keyword) void *foo(int);
EOF
fi
fi
@@ -5323,12 +5322,14 @@ cat > $TMPH <<EOF
#define LIBAV_LICENSE "$(c_escape $license)"
#define AVCONV_DATADIR "$(eval c_escape $datadir)"
#define CC_IDENT "$(c_escape ${cc_ident:-Unknown compiler})"
-#define restrict $_restrict
#define EXTERN_PREFIX "${extern_prefix}"
#define EXTERN_ASM ${extern_prefix}
#define SLIBSUF "$SLIBSUF"
EOF
+test $restrict_keyword != restrict &&
+ echo "#define restrict $restrict_keyword" >> $TMPH
+
test -n "$malloc_prefix" &&
echo "#define MALLOC_PREFIX $malloc_prefix" >>$TMPH