[all-commits] [llvm/llvm-project] 584a9b: [libc++] Reorganize the std::variant macros (#89419)

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu Apr 25 06:26:07 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 584a9bfa0eb60ef04406eef50da26a5cb32c801d
      https://github.com/llvm/llvm-project/commit/584a9bfa0eb60ef04406eef50da26a5cb32c801d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/include/variant

  Log Message:
  -----------
  [libc++] Reorganize the std::variant macros (#89419)

std::variant uses multiple macros to generate special member functions.
These macros were very subtle to read because of e.g. a macro argument
appearing in the middle of a macro-ized class definition. In conjunction
with clang-format, this could lead to extremely subtle macro expansions
that were not easy to parse for humans.

By adding semi-colons in macro expansions in judicious places,
clang-format does a better job and makes these macros a lot easier to
read.

As a drive-by fix, I noticed that several of these functions were
missing HIDE_FROM_ABI annotations, so I added them.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list