[all-commits] [llvm/llvm-project] bbdbcd: [Support] Rename llvm::support::endianness to llvm...

Kazu Hirata via All-commits all-commits at lists.llvm.org
Wed Oct 4 20:34:16 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bbdbcd83e6702f314d147a680247058a899ba261
      https://github.com/llvm/llvm-project/commit/bbdbcd83e6702f314d147a680247058a899ba261
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M llvm/include/llvm/Support/Endian.h

  Log Message:
  -----------
  [Support] Rename llvm::support::endianness to llvm::endianness (#68174)

As part of an effort to make our codebase ready for the migration from
llvm::support::endianness to std::endian in C++20, this patch renames
llvm::support::endianness to llvm::endianness.

The intent of this patch is to make fully qualified names less
painful.  That is, with this patch, we can just say
llvm::endianness::big rather than llvm::support::endianness::big.

I'm not renaming llvm::support::endianness to llvm::endian because we
have a lot of places with "using namespace support;" where it would be
ambiguous whether "endian" refers to llvm::endian or
llvm::support::endian.

This patch defines several helpers for gradual migration:

  namespace llvm {
  namespace support {
  using endianness = llvm::endianness;
  constexpr llvm::endianness big = llvm::endianness::big;
  constexpr llvm::endianness little = llvm::endianness::little;
  constexpr llvm::endianness native = llvm::endianness::native;

While we are at it, this patch changes the enum to "enum class".  The
"enum class" prevents implicit conversions from endianness to bool.
I've fixed three such instances of implicit conversions:

  95f4b2a70850b5e6ab83ec21af3fe5246cac0675
  8de2ecc2e75d496fc7fc8a24c3acf71732a3bd0c
  a7517e12caab0750d3dfd7c0c6faec9acc7e5a2b




More information about the All-commits mailing list