[llvm-branch-commits] [llvm] 5ddfea3 - [docs] Bump minimum GCC version to 7.4

Tobias Hieta via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Aug 7 00:06:40 PDT 2023


Author: Fangrui Song
Date: 2023-08-07T09:03:52+02:00
New Revision: 5ddfea3e8ef6c1484dcbd108a3946b3663f140e0

URL: https://github.com/llvm/llvm-project/commit/5ddfea3e8ef6c1484dcbd108a3946b3663f140e0
DIFF: https://github.com/llvm/llvm-project/commit/5ddfea3e8ef6c1484dcbd108a3946b3663f140e0.diff

LOG: [docs] Bump minimum GCC version to 7.4

GCC 7.3 cannot build 16.x releases.
```
In file included from /tmp/llvm-16/llvm/lib/Transforms/IPO/AttributorAttributes.cpp:14:0:
/tmp/llvm-16/llvm/include/llvm/Transforms/IPO/Attributor.h:1137:32: error: duplicate initialization of ‘llvm::AnalysisGetter::HasLegacyWrapper<Analysis, std::void_t<typename Analysis::Lega
cyWrapper> >’
 constexpr bool AnalysisGetter::HasLegacyWrapper<
                                ^~~~~~~~~~~~~~~~~
       Analysis, std::void_t<typename Analysis::LegacyWrapper>> = true;
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/llvm-16/llvm/include/llvm/Transforms/IPO/Attributor.h:1137:32: error: got 1 template parameters for ‘constexpr const bool llvm::AnalysisGetter::HasLegacyWrapper< <template-parameter-1
-1>, <template-parameter-1-2> >’
/tmp/llvm-16/llvm/include/llvm/Transforms/IPO/Attributor.h:1137:32: error:   but 2 required
```

The 17.x and main branches have more failures, e.g.

```
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp: `error: cannot decompose class type ‘std::pair<llvm::Value*, const llvm::SCEV*>’: ...`
```

We probably should just give up 7.1 and say that GCC<=7.3 is unsupported.
There is evidence that GCC 7.4 works.
I have verified that GCC 7.5 is able to build `check-{llvm,clang,clang-tools,lldb,lld,polly,mlir,bolt}`,
but not flang due to at least `flang/Common/enum-class.h` and a `<charconv`> in a unittest.

Link: https://discourse.llvm.org/t/require-gcc-7-5-as-gcc-7-3-cannot-build-llvm/72310

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D156286

(cherry picked from commit 1e06b82bded69fe627d6cd62ecff236fca15f39b)

Added: 
    

Modified: 
    llvm/cmake/modules/CheckCompilerVersion.cmake
    llvm/docs/GettingStarted.rst

Removed: 
    


################################################################################
diff  --git a/llvm/cmake/modules/CheckCompilerVersion.cmake b/llvm/cmake/modules/CheckCompilerVersion.cmake
index 374ee8ffa400e0..4b3a0eb9a44330 100644
--- a/llvm/cmake/modules/CheckCompilerVersion.cmake
+++ b/llvm/cmake/modules/CheckCompilerVersion.cmake
@@ -4,8 +4,8 @@
 
 include(CheckCXXSourceCompiles)
 
-set(GCC_MIN 7.1)
-set(GCC_SOFT_ERROR 7.1)
+set(GCC_MIN 7.4)
+set(GCC_SOFT_ERROR 7.4)
 set(CLANG_MIN 5.0)
 set(CLANG_SOFT_ERROR 5.0)
 set(APPLECLANG_MIN 10.0)

diff  --git a/llvm/docs/GettingStarted.rst b/llvm/docs/GettingStarted.rst
index 96135b73ca21ab..437c831c9ae9ac 100644
--- a/llvm/docs/GettingStarted.rst
+++ b/llvm/docs/GettingStarted.rst
@@ -281,7 +281,6 @@ uses the package and provides other details.
 Package                                                     Version      Notes
 =========================================================== ============ ==========================================
 `CMake <http://cmake.org/>`__                               >=3.20.0     Makefile/workspace generator
-`GCC <http://gcc.gnu.org/>`_                                >=7.1.0      C/C++ compiler\ :sup:`1`
 `python <http://www.python.org/>`_                          >=3.6        Automated test suite\ :sup:`2`
 `zlib <http://zlib.net>`_                                   >=1.2.3.4    Compression library\ :sup:`3`
 `GNU Make <http://savannah.gnu.org/projects/make>`_         3.79, 3.79.1 Makefile/build processor\ :sup:`4`
@@ -343,7 +342,7 @@ popular host toolchains for specific minimum versions in our build systems:
 
 * Clang 5.0
 * Apple Clang 10.0
-* GCC 7.1
+* GCC 7.4
 * Visual Studio 2019 16.7
 
 Anything older than these toolchains *may* work, but will require forcing the
@@ -409,11 +408,11 @@ GCC from source. It is also quite easy to do these days.
 .. _github gist:
   https://gist.github.com/application2000/73fd6f4bf1be6600a2cf9f56315a2d91
 
-Easy steps for installing GCC 7.1.0:
+Easy steps for installing a specific version of GCC:
 
 .. code-block:: console
 
-  % gcc_version=7.1.0
+  % gcc_version=7.4.0
   % wget https://ftp.gnu.org/gnu/gcc/gcc-${gcc_version}/gcc-${gcc_version}.tar.bz2
   % wget https://ftp.gnu.org/gnu/gcc/gcc-${gcc_version}/gcc-${gcc_version}.tar.bz2.sig
   % wget https://ftp.gnu.org/gnu/gnu-keyring.gpg


        


More information about the llvm-branch-commits mailing list