[PATCH] D25683: [docs] Increase minimum supported GCC version for building LLVM to 4.8

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 18 09:10:36 PDT 2016


tejohnson updated this revision to Diff 75019.
tejohnson added a comment.
Herald added subscribers: mgorny, beanz.

Address review comments, including update of cmake check


https://reviews.llvm.org/D25683

Files:
  cmake/modules/CheckCompilerVersion.cmake
  docs/CodingStandards.rst
  docs/GettingStarted.rst


Index: docs/GettingStarted.rst
===================================================================
--- docs/GettingStarted.rst
+++ docs/GettingStarted.rst
@@ -202,7 +202,7 @@
 Package                                                     Version      Notes
 =========================================================== ============ ==========================================
 `GNU Make <http://savannah.gnu.org/projects/make>`_         3.79, 3.79.1 Makefile/build processor
-`GCC <http://gcc.gnu.org/>`_                                >=4.7.0      C/C++ compiler\ :sup:`1`
+`GCC <http://gcc.gnu.org/>`_                                >=4.8.0      C/C++ compiler\ :sup:`1`
 `python <http://www.python.org/>`_                          >=2.7        Automated test suite\ :sup:`2`
 `zlib <http://zlib.net>`_                                   >=1.2.3.4    Compression library\ :sup:`3`
 =========================================================== ============ ==========================================
@@ -261,7 +261,7 @@
 our build systems:
 
 * Clang 3.1
-* GCC 4.7
+* GCC 4.8
 * Visual Studio 2013
 
 Anything older than these toolchains *may* work, but will require forcing the
@@ -275,9 +275,6 @@
 We track certain versions of software that are *known* to fail when used as
 part of the host toolchain. These even include linkers at times.
 
-**GCC 4.6.3 on ARM**: Miscompiles ``llvm-readobj`` at ``-O3``. A test failure
-in ``test/Object/readobj-shared-object.test`` is one symptom of the problem.
-
 **GNU ld 2.16.X**. Some 2.16.X versions of the ld linker will produce very long
 warning messages complaining that some "``.gnu.linkonce.t.*``" symbol was
 defined in a discarded section. You can safely ignore these messages as they are
@@ -294,19 +291,6 @@
 symptom is an error about cyclic dependencies.  We recommend upgrading to a
 newer version of Gold.
 
-**Clang 3.0 with libstdc++ 4.7.x**: a few Linux distributions (Ubuntu 12.10,
-Fedora 17) have both Clang 3.0 and libstdc++ 4.7 in their repositories.  Clang
-3.0 does not implement a few builtins that are used in this library.  We
-recommend using the system GCC to compile LLVM and Clang in this case.
-
-**Clang 3.0 on Mageia 2**.  There's a packaging issue: Clang can not find at
-least some (``cxxabi.h``) libstdc++ headers.
-
-**Clang in C++11 mode and libstdc++ 4.7.2**.  This version of libstdc++
-contained `a bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53841>`__ which
-causes Clang to refuse to compile condition_variable header file.  At the time
-of writing, this breaks LLD build.
-
 Getting a Modern Host C++ Toolchain
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
Index: docs/CodingStandards.rst
===================================================================
--- docs/CodingStandards.rst
+++ docs/CodingStandards.rst
@@ -189,7 +189,7 @@
 traits header to emulate it.
 
 .. _the libstdc++ manual:
-  http://gcc.gnu.org/onlinedocs/gcc-4.7.3/libstdc++/manual/manual/status.html#status.iso.2011
+  http://gcc.gnu.org/onlinedocs/gcc-4.8.0/libstdc++/manual/manual/status.html#status.iso.2011
 
 Other Languages
 ---------------
Index: cmake/modules/CheckCompilerVersion.cmake
===================================================================
--- cmake/modules/CheckCompilerVersion.cmake
+++ cmake/modules/CheckCompilerVersion.cmake
@@ -1,4 +1,4 @@
-# Check if the host compiler is new enough. LLVM requires at least GCC 4.7,
+# Check if the host compiler is new enough. LLVM requires at least GCC 4.8,
 # MSVC 2013, or Clang 3.1.
 
 include(CheckCXXSourceCompiles)
@@ -8,8 +8,8 @@
 
   if(NOT LLVM_FORCE_USE_OLD_TOOLCHAIN)
     if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-      if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
-        message(FATAL_ERROR "Host GCC version must be at least 4.7!")
+      if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
+        message(FATAL_ERROR "Host GCC version must be at least 4.8!")
       endif()
     elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
       if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1)
@@ -35,7 +35,7 @@
 int main() { return (float)x; }"
           LLVM_NO_OLD_LIBSTDCXX)
         if(NOT LLVM_NO_OLD_LIBSTDCXX)
-          message(FATAL_ERROR "Host Clang must be able to find libstdc++4.7 or newer!")
+          message(FATAL_ERROR "Host Clang must be able to find libstdc++4.8 or newer!")
         endif()
         set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
         set(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25683.75019.patch
Type: text/x-patch
Size: 4473 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161018/98ae2d1b/attachment.bin>


More information about the llvm-commits mailing list