summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-06-01 10:16:42 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-06-01 10:16:42 +0200
commitb919a8d3a38559bb5f60a66839ca6f3358b1c908 (patch)
tree8995cd60f4a4e2d226e43c25445084833b005dbd /configure
parent716dbc7e13c101e6512d7282634051f48e8f345e (diff)
parent14fb9d3d8ccf5f50180aabdb1afe8b570fea3d28 (diff)
Merge commit '14fb9d3d8ccf5f50180aabdb1afe8b570fea3d28'
* commit '14fb9d3d8ccf5f50180aabdb1afe8b570fea3d28': configure: Separate commonalities in msvc and icl flags Conflicts: configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure44
1 files changed, 34 insertions, 10 deletions
diff --git a/configure b/configure
index 3ae1261a61..ad9359eb6a 100755
--- a/configure
+++ b/configure
@@ -2648,17 +2648,17 @@ ccc_flags(){
done
}
-msvc_flags(){
+msvc_common_flags(){
for flag; do
case $flag in
+ # In addition to specifying certain flags under the compiler
+ # specific filters, they must be specified here as well or else the
+ # generic catch all at the bottom will print the original flag.
+ -Wall) ;;
+ -std=c99) ;;
+ # Common flags
-fomit-frame-pointer) echo -Oy ;;
-g) echo -Z7 ;;
- -Wall) echo -W4 -wd4244 -wd4127 -wd4018 -wd4389 \
- -wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \
- -wd4152 -wd4324 -we4013 -wd4100 -wd4214 \
- -wd4554 \
- -wd4996 -wd4273 ;;
- -std=c99) ;;
-fno-math-errno) ;;
-fno-common) ;;
-fno-signed-zeros) ;;
@@ -2674,6 +2674,31 @@ msvc_flags(){
done
}
+msvc_flags(){
+ msvc_common_flags "$@"
+ for flag; do
+ case $flag in
+ -Wall) echo -W4 -wd4244 -wd4127 -wd4018 -wd4389 \
+ -wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \
+ -wd4152 -wd4324 -we4013 -wd4100 -wd4214 \
+ -wd4554 \
+ -wd4996 -wd4273 ;;
+ esac
+ done
+}
+
+icl_flags(){
+ msvc_common_flags "$@"
+ for flag; do
+ case $flag in
+ # Despite what Intel's documentation says -Wall, which is supported
+ # on Windows, does enable remarks so disable them here.
+ -Wall) echo $flag -Qdiag-disable:remark ;;
+ -std=c99) echo -Qstd=c99 ;;
+ esac
+ done
+}
+
pgi_flags(){
for flag; do
case $flag in
@@ -2901,13 +2926,13 @@ probe_cc(){
fi
_cc_o='-Fo $@'
_cc_e='-P'
- _flags_filter=msvc_flags
+ _flags_filter=icl_flags
_ld_lib='lib%.a'
_ld_path='-libpath:'
# -Qdiag-error to make icl error when presented with certain unknown arguments
_flags='-nologo -Qdiag-error:10157 -Qdiag-error:4044'
# -Qvec- -Qsimd- to prevent miscompilation, -GS for consistency with msvc which enables it by default
- _cflags='-D_USE_MATH_DEFINES -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64 -Qstd=c99 -Qms0 -Qvec- -Qsimd- -GS'
+ _cflags='-D_USE_MATH_DEFINES -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64 -Qms0 -Qvec- -Qsimd- -GS'
if [ $pfx = hostcc ]; then
append _cflags -Dsnprintf=_snprintf
fi
@@ -4386,7 +4411,6 @@ elif enabled msvc; then
enabled x86_32 && disable aligned_stack
elif enabled icl; then
enabled x86_32 && disable aligned_stack
- check_cflags -W1 # Just warnings, no remark spam
# basically -fstrict-aliasing for icl that doesn't work (correctly) on 13.x+
check_cpp_condition "windows.h" "__ICL < 1300" && add_cflags -Qansi-alias
# icl will pass the inline asm tests but inline asm is currently not supported (build will fail)