Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-28687

Update LLVM Toolset to 18.1.8 [rhel-9]

    • Icon: Story Story
    • Resolution: Done-Errata
    • Icon: Undefined Undefined
    • rhel-9.5
    • None
    • llvm-toolset
    • None
    • None
    • Rebase
    • 1
    • rhel-sst-pt-llvm-rust-go
    • ssg_platform_tools
    • 22
    • 1
    • False
    • Hide

      None

      Show
      None
    • Yes
    • Sprint 7
    • Rebase
    • Hide
      .LLVM Toolset updated to 18.1.8

      LLVM Toolset has been updated to version 18.1.8.

      Notable LLVM updates:

      * The constant expression variants of the following instructions have been removed: `and`, `or`, `lshr`, `ashr`, `zext`, `sext`, `fptrunc`, `fpext`, `fptoui`, `fptosi`, `uitofp`, `sitofp`.
      * The `llvm.exp10` intrinsic has been added.
      * The `code_model` attribute for global variables has been added.
      * The backend for the AArch64, AMDGPU, PowerPC, RISC-V, SystemZ and x86 architectures has been improved.
      * LLVM tools have been improved.

      Notable Clang enhancements:

      * C++20 feature support:
      ** Clang no longer performs One Definition Rule (ODR) checks for declarations in the global module fragment. To enable more strict behavior, use the `-Xclang -fno-skip-odr-check-in-gmf` option.
      * C++23 feature support:
      ** A new diagnostic flag `pass:[-Wc++23-lambda-attributes]` has been added to warn about the use of attributes on lambdas.
      * C++2c feature support:
      ** Clang now allows using the `_` character as a placeholder variable name multiple times in the same scope.
      ** Attributes now expect unevaluated strings in attribute parameters that are string literals.
      ** The deprecated arithmetic conversion on enumerations from C++26 has been removed.
      ** The specification of template parameter initialization has been improved.
      * For a complete list of changes, see the link:https://releases.llvm.org/18.1.8/tools/clang/docs/ReleaseNotes.html#what-s-new-in-clang-release[upstream release notes for Clang].

      ABI changes in Clang:

      * Following the SystemV ABI for x86_64, the `__int128` arguments are no longer split between a register and a stack slot.
      * For more information, see the link:https://releases.llvm.org/18.1.8/tools/clang/docs/ReleaseNotes.html#abi-changes-in-this-version[list of ABI changes in Clang].

      Notable backwards incompatible changes:

      * A bug fix in the reversed argument order for templated operators breaks code in pass:[C++20] that was previously accepted in pass:[C++17].
      * The `GCC_INSTALL_PREFIX` CMake variable (which sets the default `--gcc-toolchain=`) is deprecated and will be removed. Specify the `--gcc-install-dir=` or `--gcc-triple=` option in a configuration file instead.
      * The default extension name for precompiled headers (PCH) generation (`-c -xc-header` and `pass:[-c -xc++-header]`) is now `.pch` instead of `.gch`.
      * When `-include a.h` probes the `a.h.gch` file, the include now ignores `a.h.gch` if it is not a Clang PCH file or a directory containing any Clang PCH file.
      * A bug that caused `pass:[__has_cpp_attribute]` and `pass:[__has_c_attribute]` to return incorrect values for certain C++-11-style attributes has been fixed.
      * A bug in finding a matching `operator!=` while adding a reversed `operator==` has been fixed.
      * The name mangling rules for function templates have been changed to accept that functions can be overloaded on their template parameter lists or requires-clauses.
      * The `-Wenum-constexpr-conversion` warning is now enabled by default on system headers and macros. It will be turned into a hard (non-downgradable) error in the next Clang release.
      * A path to the imported modules for C++20 named modules can no longer be hardcoded. You must specify all the dependent modules from the command line.
      * It is no longer possible to import modules by using `import <module>`; Clang uses explicitly-built modules.
      * For more details, see the
      link:https://releases.llvm.org/18.1.8/tools/clang/docs/ReleaseNotes.html#potentially-breaking-changes[list of potentially breaking changes].

      For more information, see the link:https://releases.llvm.org/18.1.8/docs/ReleaseNotes.html[LLVM release notes] and link:https://releases.llvm.org/18.1.8/tools/clang/docs/ReleaseNotes.html[Clang release notes].

      LVM Toolset is a rolling Application Stream, and only the latest version is supported. For more information, see the link:https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle[Red Hat Enterprise Linux Application Streams Life Cycle] document.
      Show
      .LLVM Toolset updated to 18.1.8 LLVM Toolset has been updated to version 18.1.8. Notable LLVM updates: * The constant expression variants of the following instructions have been removed: `and`, `or`, `lshr`, `ashr`, `zext`, `sext`, `fptrunc`, `fpext`, `fptoui`, `fptosi`, `uitofp`, `sitofp`. * The `llvm.exp10` intrinsic has been added. * The `code_model` attribute for global variables has been added. * The backend for the AArch64, AMDGPU, PowerPC, RISC-V, SystemZ and x86 architectures has been improved. * LLVM tools have been improved. Notable Clang enhancements: * C++20 feature support: ** Clang no longer performs One Definition Rule (ODR) checks for declarations in the global module fragment. To enable more strict behavior, use the `-Xclang -fno-skip-odr-check-in-gmf` option. * C++23 feature support: ** A new diagnostic flag `pass:[-Wc++23-lambda-attributes]` has been added to warn about the use of attributes on lambdas. * C++2c feature support: ** Clang now allows using the `_` character as a placeholder variable name multiple times in the same scope. ** Attributes now expect unevaluated strings in attribute parameters that are string literals. ** The deprecated arithmetic conversion on enumerations from C++26 has been removed. ** The specification of template parameter initialization has been improved. * For a complete list of changes, see the link: https://releases.llvm.org/18.1.8/tools/clang/docs/ReleaseNotes.html#what-s-new-in-clang-release [upstream release notes for Clang]. ABI changes in Clang: * Following the SystemV ABI for x86_64, the `__int128` arguments are no longer split between a register and a stack slot. * For more information, see the link: https://releases.llvm.org/18.1.8/tools/clang/docs/ReleaseNotes.html#abi-changes-in-this-version [list of ABI changes in Clang]. Notable backwards incompatible changes: * A bug fix in the reversed argument order for templated operators breaks code in pass:[C++20] that was previously accepted in pass:[C++17]. * The `GCC_INSTALL_PREFIX` CMake variable (which sets the default `--gcc-toolchain=`) is deprecated and will be removed. Specify the `--gcc-install-dir=` or `--gcc-triple=` option in a configuration file instead. * The default extension name for precompiled headers (PCH) generation (`-c -xc-header` and `pass:[-c -xc++-header]`) is now `.pch` instead of `.gch`. * When `-include a.h` probes the `a.h.gch` file, the include now ignores `a.h.gch` if it is not a Clang PCH file or a directory containing any Clang PCH file. * A bug that caused `pass:[__has_cpp_attribute]` and `pass:[__has_c_attribute]` to return incorrect values for certain C++-11-style attributes has been fixed. * A bug in finding a matching `operator!=` while adding a reversed `operator==` has been fixed. * The name mangling rules for function templates have been changed to accept that functions can be overloaded on their template parameter lists or requires-clauses. * The `-Wenum-constexpr-conversion` warning is now enabled by default on system headers and macros. It will be turned into a hard (non-downgradable) error in the next Clang release. * A path to the imported modules for C++20 named modules can no longer be hardcoded. You must specify all the dependent modules from the command line. * It is no longer possible to import modules by using `import <module>`; Clang uses explicitly-built modules. * For more details, see the link: https://releases.llvm.org/18.1.8/tools/clang/docs/ReleaseNotes.html#potentially-breaking-changes [list of potentially breaking changes]. For more information, see the link: https://releases.llvm.org/18.1.8/docs/ReleaseNotes.html [LLVM release notes] and link: https://releases.llvm.org/18.1.8/tools/clang/docs/ReleaseNotes.html [Clang release notes]. LVM Toolset is a rolling Application Stream, and only the latest version is supported. For more information, see the link: https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle [Red Hat Enterprise Linux Application Streams Life Cycle] document.
    • Done
    • None

      Update LLVM Toolset to 18.1.6 (or whatever the last 18.1.x release is).

              kkleine Konrad Kleine
              tstellar@redhat.com Thomas Stellard
              Thomas Stellard Thomas Stellard
              Jesus Checa Hidalgo Jesus Checa Hidalgo
              Lenka Špačková Lenka Špačková
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: