diff --git a/.ci/compute-projects.sh b/.ci/compute-projects.sh index 32baf26b4f0a0..6e7d32f2e2c12 100644 --- a/.ci/compute-projects.sh +++ b/.ci/compute-projects.sh @@ -18,15 +18,14 @@ function compute-projects-to-test() { shift projects=${@} for project in ${projects}; do - echo "${project}" case ${project} in lld) - for p in bolt cross-project-tests; do + for p in lld bolt cross-project-tests; do echo $p done ;; llvm) - for p in bolt clang clang-tools-extra lld lldb mlir polly; do + for p in llvm bolt clang clang-tools-extra lld lldb mlir polly; do echo $p done # Flang is not stable in Windows CI at the moment @@ -36,21 +35,30 @@ function compute-projects-to-test() { ;; clang) # lldb is temporarily removed to alleviate Linux pre-commit CI waiting times - for p in clang-tools-extra compiler-rt cross-project-tests; do + for p in clang clang-tools-extra compiler-rt cross-project-tests; do echo $p done ;; clang-tools-extra) - echo libc + for p in clang-tools-extra libc; do + echo $p + done ;; mlir) + echo mlir + # Flang is not stable in Windows CI at the moment + if [[ $isForWindows == 0 ]]; then + echo flang + fi + ;; + flang-rt) # Flang is not stable in Windows CI at the moment if [[ $isForWindows == 0 ]]; then echo flang fi ;; *) - # Nothing to do + echo "${project}" ;; esac done @@ -65,6 +73,11 @@ function compute-runtimes-to-test() { echo $p done ;; + flang) + for p in flang-rt; do + echo $p + done + ;; *) # Nothing to do ;; diff --git a/.ci/generate-buildkite-pipeline-premerge b/.ci/generate-buildkite-pipeline-premerge index e547afaeb722f..b0b0d60a8a138 100755 --- a/.ci/generate-buildkite-pipeline-premerge +++ b/.ci/generate-buildkite-pipeline-premerge @@ -73,7 +73,7 @@ fi # needs while letting them run on the infrastructure provided by LLVM. # Figure out which projects need to be built on each platform -all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl" +all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang flang-rt libc libclc lld lldb llvm mlir openmp polly pstl" modified_projects="$(keep-modified-projects ${all_projects})" linux_projects_to_test=$(exclude-linux $(compute-projects-to-test 0 ${modified_projects})) diff --git a/.ci/monolithic-linux.sh b/.ci/monolithic-linux.sh index 55741bc831046..157dee22ace7c 100755 --- a/.ci/monolithic-linux.sh +++ b/.ci/monolithic-linux.sh @@ -65,6 +65,7 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \ -D CMAKE_CXX_FLAGS=-gmlt \ -D LLVM_CCACHE_BUILD=ON \ -D MLIR_ENABLE_BINDINGS_PYTHON=ON \ + -D FLANG_ENABLE_FLANG_RT=OFF \ -D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" echo "--- ninja" @@ -95,6 +96,9 @@ if [[ "${runtimes}" != "" ]]; then cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \ -D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \ -D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \ + -D CMAKE_Fortran_COMPILER="${BUILD_DIR}/bin/flang" \ + -D CMAKE_Fortran_COMPILER_WORKS=ON \ + -D LLVM_BINARY_DIR="${BUILD_DIR}" \ -D LLVM_ENABLE_RUNTIMES="${runtimes}" \ -D LIBCXX_CXX_ABI=libcxxabi \ -D CMAKE_BUILD_TYPE=RelWithDebInfo \ @@ -113,6 +117,9 @@ if [[ "${runtimes}" != "" ]]; then cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \ -D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \ -D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \ + -D CMAKE_Fortran_COMPILER="${BUILD_DIR}/bin/flang" \ + -D CMAKE_Fortran_COMPILER_WORKS=ON \ + -D LLVM_BINARY_DIR="${BUILD_DIR}" \ -D LLVM_ENABLE_RUNTIMES="${runtimes}" \ -D LIBCXX_CXX_ABI=libcxxabi \ -D CMAKE_BUILD_TYPE=RelWithDebInfo \ @@ -131,6 +138,9 @@ if [[ "${runtimes}" != "" ]]; then cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \ -D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \ -D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \ + -D CMAKE_Fortran_COMPILER="${BUILD_DIR}/bin/flang" \ + -D CMAKE_Fortran_COMPILER_WORKS=ON \ + -D LLVM_BINARY_DIR="${BUILD_DIR}" \ -D LLVM_ENABLE_RUNTIMES="${runtimes}" \ -D LIBCXX_CXX_ABI=libcxxabi \ -D CMAKE_BUILD_TYPE=RelWithDebInfo \ diff --git a/flang/docs/F202X.md b/flang/docs/F202X.md index c6b5c5926efcc..67ea7fd97449a 100644 --- a/flang/docs/F202X.md +++ b/flang/docs/F202X.md @@ -291,7 +291,7 @@ functions whose implementations have very low priority: `SPLIT` and `TOKENIZE`. and could and should have been implemented once in some Fortran utility library for those who need a slow tokenization facility rather than requiring implementations in each vendor's runtime support library with -all the extra cost and compatibilty risk that entails. +all the extra cost and compatibility risk that entails. `SPLIT` is worse -- not only could it, like `TOKENIZE`, have been supplied by a Fortran utility library rather than being