[all-commits] [llvm/llvm-project] 5201b9: [libc++] Re-apply the workaround for timespec_get ...

Louis Dionne via All-commits all-commits at lists.llvm.org
Wed Sep 2 09:21:45 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5201b962e8956b75dffd2167e278b8627981c90b
      https://github.com/llvm/llvm-project/commit/5201b962e8956b75dffd2167e278b8627981c90b
  Author: Louis Dionne <ldionne at apple.com>
  Date:   2020-09-02 (Wed, 02 Sep 2020)

  Changed paths:
    M libcxx/include/ctime
    A libcxx/test/libcxx/language.support/timespec_get.xopen.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Re-apply the workaround for timespec_get not always being available in Apple SDKs

This commit re-applies 99f3b231cb21, which was reverted in 814242572731
because it broke the modules build. The modules failure was a circular
dependency between the Darwin module and __config. Specifically, the
issue was that if <__config> includes a system header, the std_config
module depends on the Darwin module. However, the Darwin module already
depends on the std_config header because some of its headers include
libc++ headers like <ctype.h> (they mean to include the C <ctype.h>,
but libc++ headers are first in the header search path).

This is fixed by moving the workaround to <ctime> only.

https://llvm.org/PR47208
rdar://68157284




More information about the All-commits mailing list