[PATCH] D47073: Document and Enforce new Host Compiler Policy

James Y Knight via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 15 15:59:51 PST 2019


jyknight added a comment.

Firstly -- I agree we ought to put something in the LLVM 8.0 release. However, we do not need to get it committed *today* for it to make it into the 8.0 release. It can be cherry-picked to the branch after the branch-cut.

Secondly -- there seems to be some confusion still over what the new policy is. My understanding is that the time-based proposal is *rejected*, and that we're using "3 years old" only as a guideline for what compilers to support, not any sort of date cutoff. Therefore, I think we should be encoding two toolchain version requirements in the buildsystem:

1. The *actual* minimum version required. For the GCC toolchain, that is currently GCC 4.8.
2. The intended minimum version required for the next release of LLVM. (GCC 5, because we want C++14, and that's the first version that supports it).

I'd call those two values GCC_MIN and GCC_WARN -- and both should be cmake-level errors by default, because, as you say, a warning message would simply be ignored. The former is be an unconditional error (just as the existing error for GCC < 4.8 is), while the latter must be able to be disabled. This patch, as it stands, is missing #1, puts #2 in "GCC_MIN", and uses "GCC_WARN" as a non-fatal warning message, set to GCC 6.3. I don't think that GCC 6.3 is relevant to anything, so that last is unnecessary.

Finally, as the policy expressed in this commit states, and as mehdi has requested, an email should be sent to llvm-dev, setting out concretely what the new minimum compiler versions for LLVM 9 are intended to be, and why (comparing value vs harm). The most-recent email thread linked from this commit does NOT have this. I do recall seeing such things in other threads in the past, but the conclusion should be set out concretely, now.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D47073/new/

https://reviews.llvm.org/D47073





More information about the llvm-commits mailing list