Use -std=gnu++11 on cygwin and mingw.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 12 Mar 2014 20:01:15 +0000 (20:01 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 12 Mar 2014 20:01:15 +0000 (20:01 +0000)
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
cmake/modules/HandleLLVMOptions.cmake

index 01489a570f29e9ede618c308dbb08a3bcede0cc9..cb4abafd2899b24df07b2d2682d424448606f378 100644 (file)
@@ -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)
index ccf5f90f17c73b6375446fbfbdcf4b2f35cd9373..319adf3f3256584cba8be609bec6d6a573a18d49 100644 (file)
@@ -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()