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

Update LLVM Toolset to 18.1.8 [rhel-10]

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • rhel-10.0.beta
    • 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
    • Enhancement
    • Hide
      .RHEL 10 Beta introduces LLVM Toolset 18.1.8

      RHEL 10 Beta is distributed with the LLVM Toolset 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.
      Show
      .RHEL 10 Beta introduces LLVM Toolset 18.1.8 RHEL 10 Beta is distributed with the LLVM Toolset 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.
    • Done
    • None

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

              tstellar@redhat.com Thomas Stellard
              tstellar@redhat.com Thomas Stellard
              Tulio Magno Quites Machado Filho Tulio Magno Quites Machado Filho
              Jesus Checa Hidalgo Jesus Checa Hidalgo
              Tomas Capek Tomas Capek
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated: