[PATCH] D156286: [docs] Bump minimum GCC version to 7.5

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 25 19:58:32 PDT 2023


MaskRay created this revision.
MaskRay added reviewers: thieta, mehdi_amini, jyknight, jhenderson, hubert.reinterpretcast, hans, tstellar, cor3ntin.
Herald added a reviewer: bollu.
Herald added subscribers: bzcheeseman, rriddle, javed.absar.
Herald added a reviewer: ctetreau.
Herald added a project: All.
MaskRay requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: sstefan1.
Herald added subscribers: llvm-commits, wangpc, stephenneuendorffer.
Herald added a project: LLVM.

Building llvm/ with GCC 7.3 has many errors from structured bindings, e.g.

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

and llvm/include/llvm/Transforms/IPO/Attributor.h: `error: duplicate initialization of ‘llvm::AnalysisGetter::HasLegacyWrapper<Analysis, std::void_t<typename Analysis::LegacyWrapper> >’`

I think some instances have been there for a couple of months, but shorter than one year.

6a684dbc4433a33e5f94fb15c9e378a2408021e0 <https://reviews.llvm.org/rG6a684dbc4433a33e5f94fb15c9e378a2408021e0> brings some new ones, e.g.
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h: `error: invalid application of ‘sizeof’ to incomplete type ‘llvm::DwarfTypeUnit’`

We probably should just give up 7.1 and say that GCC<7.5 is unsupported.
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.

This patch is intended to be cherry picked into the release/17.x branch.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D156286

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


Index: llvm/docs/GettingStarted.rst
===================================================================
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -281,7 +281,6 @@
 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 @@
 
 * Clang 5.0
 * Apple Clang 10.0
-* GCC 7.1
+* GCC 7.5
 * Visual Studio 2019 16.7
 
 Anything older than these toolchains *may* work, but will require forcing the
@@ -409,11 +408,11 @@
 .. _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.5.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
Index: llvm/cmake/modules/CheckCompilerVersion.cmake
===================================================================
--- llvm/cmake/modules/CheckCompilerVersion.cmake
+++ 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.5)
+set(GCC_SOFT_ERROR 7.5)
 set(CLANG_MIN 5.0)
 set(CLANG_SOFT_ERROR 5.0)
 set(APPLECLANG_MIN 10.0)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D156286.544185.patch
Type: text/x-patch
Size: 2032 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230726/c8702d77/attachment.bin>


More information about the llvm-commits mailing list