[all-commits] [llvm/llvm-project] 19fd90: Fix _LIBCPP_HAS_ definitions for Android.

Dan Albert via All-commits all-commits at lists.llvm.org
Mon Nov 18 12:22:15 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 19fd9039ca242f408493b5c662f9d908eab8555e
      https://github.com/llvm/llvm-project/commit/19fd9039ca242f408493b5c662f9d908eab8555e
  Author: Dan Albert <danalbert at google.com>
  Date:   2019-11-18 (Mon, 18 Nov 2019)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/cstdlib
    M libcxx/include/ctime
    M libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
    M libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
    M libcxx/test/std/language.support/support.runtime/ctime.pass.cpp
    M libcxx/test/std/utilities/time/date.time/ctime.pass.cpp
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  Fix _LIBCPP_HAS_ definitions for Android.

Summary:
Android added quick_exit()/at_quick_exit() in API level 21,
aligned_alloc() in API level 28, and timespec_get() in API level 29,
but has the other C11 features at all API levels (since they're basically
just coming from clang directly).

_LIBCPP_HAS_QUICK_EXIT and _LIBCPP_HAS_TIMESPEC_GET already existed,
so we can reuse them. (And use _LIBCPP_HAS_TIMESPEC_GET in a few more
places where _LIBCPP_HAS_C11_FEATURES has been used as a proxy. This
isn't correct for Android.)

_LIBCPP_HAS_ALIGNED_ALLOC is added, to cover aligned_alloc() (obviously).

Add a missing std:: before aligned_alloc in a cstdlib test, and remove a
couple of !defined(_WIN32)s now that we're explicitly testing
TEST_HAS_ALIGNED_ALLOC rather than TEST_HAS_C11_FEATURES.

Reviewers: danalbert, EricWF, mclow.lists

Reviewed By: danalbert

Subscribers: srhines, christof, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D69929




More information about the All-commits mailing list