[all-commits] [llvm/llvm-project] b69ddb: [libc++] Make variables in templates inline (#115785)

Nikolas Klauser via All-commits all-commits at lists.llvm.org
Wed Nov 13 02:57:39 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b69ddbc62838f23ace237c206676b1ed1c882638
      https://github.com/llvm/llvm-project/commit/b69ddbc62838f23ace237c206676b1ed1c882638
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-13 (Wed, 13 Nov 2024)

  Changed paths:
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__type_traits/integral_constant.h
    M libcxx/include/any
    M libcxx/include/limits
    M libcxx/include/ratio
    M libcxx/src/chrono.cpp
    M libcxx/src/filesystem/filesystem_clock.cpp
    M libcxx/src/filesystem/path.cpp
    M libcxxabi/src/cxa_demangle.cpp
    M runtimes/cmake/Modules/WarningFlags.cmake

  Log Message:
  -----------
  [libc++] Make variables in templates inline (#115785)

The variables are all `constexpr`, which implies `inline`. Since they
aren't `constexpr` in C++03 they're also not `inline` there. Because of
that we define them out-of-line currently. Instead we can use the C++17
extension of `inline` variables, which results in the same weak
definitions of the variables but without having all the boilerplate.



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