diff --git a/config.lib b/config.lib index a144b9e3ea..961e5eae8c 100644 --- a/config.lib +++ b/config.lib @@ -1265,7 +1265,12 @@ make_compiler_cflags() { # remark #2259: non-pointer conversion from ... to ... may lose significant bits flags="$flags -wd2259" # Use c++0x mode so static_assert() is available - cxxflags="$cxxflags -std=c++0x" + cxxflags="$cxxflags -std=c++11" + fi + + if [ $cc_version -lt 140 ]; then + log 1 "configure: error: ICC version is too old: `$1 -dumpversion`, minumum: 14.0" + exit 1 fi if [ "$enable_lto" != "0" ]; then @@ -1329,6 +1334,9 @@ make_compiler_cflags() { if [ "$cc_version" -ge "33" ]; then # clang completed C++11 support in version 3.3 flags="$flags -std=c++11" + else + log 1 "configure: error: clang version is too old: `$1 -v 2>&1 | head -n 1`, minumum: 3.3" + exit 1 fi # rdynamic is used to get useful stack traces from crash reports. @@ -1390,7 +1398,7 @@ make_compiler_cflags() { if [ $cc_version -ge 403 ] && [ $cc_version -lt 600 ]; then # Use gnu++0x mode so static_assert() is available. # Don't use c++0x, it breaks mingw (with gcc 4.4.0). - cxxflags="$cxxflags -std=gnu++0x" + cxxflags="$cxxflags -std=gnu++11" fi if [ $cc_version -eq 405 ]; then @@ -1406,6 +1414,9 @@ make_compiler_cflags() { cxxflags="$cxxflags -Wno-narrowing" # Disable bogus 'attempt to free a non-heap object' warning flags="$flags -Wno-free-nonheap-object" + else + log 1 "configure: error: GCC version is too old: `$1 -dumpversion`, minumum: 4.7" + exit 1 fi if [ $cc_version -ge 600 ]; then