New Issue: Should Chapel require a newer GCC version to build the compiler?

20232, "mppf", "Should Chapel require a newer GCC version to build the compiler?", "2022-07-18T13:59:15Z"

The Chapel compiler currently uses C++14 but only GCC 5 is required in prereqs.rst.

This creates a recurring problem with dyno when using enum types (see PRs #20231 #18161 #18133 #19586 #18723 #18722). The problem is that std::hash is not defined for enum types in GCC 5.4. This issue was fixed in C++14 but the GCC documentation indicates that only GCC 6.1 or newer has non-experimental C++14 support. We see this problem arise in nightly testing in testing GCC 5.4 or for testing a recent clang when using the GCC 5.4 version of the c++ standard library.

Note that the LLVM project also requires C++14. However LLVM requires a newer compiler requires one of these compiler versions:

  • Clang 5.0
  • Apple Clang 9.3
  • GCC 7.1
  • Visual Studio 2019 16.7

So, should the prereqs.rst list a version newer than GCC 5 as the minimum required? If so, should it list GCC 6.1 or GCC 7.1?