[all-commits] [llvm/llvm-project] 6a884a: [libc++] Always keep libc++abi re-exports up-to-da...

Louis Dionne via All-commits all-commits at lists.llvm.org
Mon Feb 26 11:55:22 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6a884a9aef397f76178b141d789efadf280f2c3f
      https://github.com/llvm/llvm-project/commit/6a884a9aef397f76178b141d789efadf280f2c3f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    R libcxx/lib/libc++abi.exp
    M libcxx/src/CMakeLists.txt
    A libcxxabi/lib/cxxabiv1.exp
    R libcxxabi/lib/exceptions.exp
    A libcxxabi/lib/fundamental-types.exp
    M libcxxabi/lib/itanium-base.exp
    A libcxxabi/lib/itanium-exceptions.exp
    M libcxxabi/lib/new-delete.exp
    A libcxxabi/lib/std-exceptions.exp
    A libcxxabi/lib/std-misc.exp
    M libcxxabi/src/CMakeLists.txt
    M libcxxabi/test/uncaught_exception.pass.cpp

  Log Message:
  -----------
  [libc++] Always keep libc++abi re-exports up-to-date (#79012)

Previously, the list of libc++abi symbols that we re-export from libc++
would be partly encoded in libc++abi (and re-exported automatically via
the cxxabi-reexports target), and partly hard-coded in
libcxx/lib/libc++abi.exp. The duplication of information led to symbols
not being exported from libc++ after being added to libc++abi when they
should have been.

This patch removes the duplication of information. After this patch, the
full list of symbols to re-export from libc++abi is handled by the
cxxabi-reexports target and is stored in libcxxabi.

The symbols newly re-exported from libc++ are mainly new fundamental
typeinfos and a bunch of functions and classes that are part of
libc++abi but are most likely implementation details. In the future, it
would be possible to try to trim down the set of what we export from
libc++abi (and hence what we re-export from libc++) to remove some
implementation detail symbols.

Fixes #79008



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