[all-commits] [llvm/llvm-project] 21d928: libcxx: Don't apply ABI tags to extern "C" fns

Arsen Arsenović via All-commits all-commits at lists.llvm.org
Tue Jan 24 23:35:47 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 21d9282ae2b6e1e7dfbabfd87f6208c3bdff8ea4
      https://github.com/llvm/llvm-project/commit/21d9282ae2b6e1e7dfbabfd87f6208c3bdff8ea4
  Author: Arsen Arsenović <arsen at gentoo.org>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__support/android/locale_bionic.h
    M libcxx/include/__support/musl/xlocale.h
    M libcxx/include/__support/openbsd/xlocale.h
    M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
    M libcxx/include/__support/xlocale/__posix_l_fallback.h
    M libcxx/include/__support/xlocale/__strtonum_fallback.h

  Log Message:
  -----------
  libcxx: Don't apply ABI tags to extern "C" fns

GCC rejects ABI tags on non mangled functions, as they would otherwise
be a no-op.  This commit replaces such instances with equivalent
_LIBCPP_HIDE_FROM_ABI constants but without ABI tags attached.

  .../include/c++/v1/__support/musl/xlocale.h:28:68: error: 'abi_tag'
  attribute applied to extern "C" declaration 'long long int
  strtoll_l(const char*, char**, int, locale_t)'
     28 | strtoll_l(const char *__nptr, char **__endptr, int __base, locale_t) {
        |                                                                    ^

Bug: https://bugs.gentoo.org/869038

Reviewed By: #libc, ldionne

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




More information about the All-commits mailing list