summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-03-12 20:01:15 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-03-12 20:01:15 +0000
commit3f06e3f55fb2f2a3ec03903a53633bf270575599 (patch)
treeb1a2c543fa44981495807c6e1b8534a3ab6ed0df
parent060c0eb1d2e892e0a08e66c971c36568563cb202 (diff)
downloadllvm-3f06e3f55fb2f2a3ec03903a53633bf270575599.tar.gz
llvm-3f06e3f55fb2f2a3ec03903a53633bf270575599.tar.bz2
llvm-3f06e3f55fb2f2a3ec03903a53633bf270575599.tar.xz
Use -std=gnu++11 on cygwin and mingw.
Without this common features like off_t and strdup are missing. This should bring back those bots. Configure bits by Meador Inge. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203701 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--Makefile.rules8
-rw-r--r--cmake/modules/HandleLLVMOptions.cmake8
2 files changed, 14 insertions, 2 deletions
diff --git a/Makefile.rules b/Makefile.rules
index 01489a570f..cb4abafd28 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -322,7 +322,13 @@ endif
ifeq ($(ENABLE_CXX1Y),1)
CXX.Flags += -std=c++1y
else
- CXX.Flags += -std=c++11
+ ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
+ # MinGW and Cygwin are a bit stricter and lack things like
+ # 'strdup', 'stricmp', etc in c++11 mode.
+ CXX.Flags += -std=gnu++11
+ else
+ CXX.Flags += -std=c++11
+ endif
endif
ifeq ($(ENABLE_WERROR),1)
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
index ccf5f90f17..319adf3f32 100644
--- a/cmake/modules/HandleLLVMOptions.cmake
+++ b/cmake/modules/HandleLLVMOptions.cmake
@@ -293,7 +293,13 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
else()
check_cxx_compiler_flag("-std=c++11" CXX_SUPPORTS_CXX11)
if (CXX_SUPPORTS_CXX11)
- append("-std=c++11" CMAKE_CXX_FLAGS)
+ if (CYGWIN OR MINGW)
+ # MinGW and Cygwin are a bit stricter and lack things like
+ # 'strdup', 'stricmp', etc in c++11 mode.
+ append("-std=gnu++11" CMAKE_CXX_FLAGS)
+ else()
+ append("-std=c++11" CMAKE_CXX_FLAGS)
+ endif()
else()
message(FATAL_ERROR "LLVM requires C++11 support but the '-std=c++11' flag isn't supported.")
endif()