[all-commits] [llvm/llvm-project] e0d012: [libc++] Allow building libc++ on platforms withou...

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu Oct 15 09:21:12 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e0d01294bc124211a8ffb55e69162eb34a242680
      https://github.com/llvm/llvm-project/commit/e0d01294bc124211a8ffb55e69162eb34a242680
  Author: Louis Dionne <ldionne at apple.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M libcxx/CMakeLists.txt
    A libcxx/cmake/caches/Generic-no-random_device.cmake
    M libcxx/include/__config_site.in
    M libcxx/include/random
    M libcxx/src/CMakeLists.txt
    A libcxx/test/libcxx/numerics/rand/rand.device/has-no-random-device.verify.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
    M libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp
    M libcxx/test/std/numerics/rand/rand.device/entropy.pass.cpp
    M libcxx/test/std/numerics/rand/rand.device/eval.pass.cpp
    M libcxx/test/support/filesystem_test_helper.h
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/run-buildbot.sh
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Allow building libc++ on platforms without a random device

Some platforms, like several embedded platforms, do not provide a source
of randomness through a random device. This commit makes it possible to
build and test libc++ for such platforms, i.e. without std::random_device.

Surprisingly, the only functionality that doesn't work on such platforms
is std::random_device itself -- everything else in <random> still works,
one just has to find alternative ways to seed the PRNGs.




More information about the All-commits mailing list