From 3f06e3f55fb2f2a3ec03903a53633bf270575599 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Wed, 12 Mar 2014 20:01:15 +0000 Subject: 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 --- Makefile.rules | 8 +++++++- cmake/modules/HandleLLVMOptions.cmake | 8 +++++++- 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() -- cgit v1.2.3