llvm-project/libcxx/lib/abi
Richard Smith de329354aa Remove incorrect explicit instantiation declarations for valarray
libc++ ABI v1 provides three valarray symbols as part of the shared library:

valarray<size_t>::valarray(size_t)
valarray<size_t>::~valarray()
valarray<size_t>::resize(size_t, size_t)

The first two of these are intended to be removed in V2 of the ABI: they're
attributed _LIBCPP_HIDE_FROM_ABI_AFTER_V1, and  it appears that the intention
is that these symbols from the library are not used even when building using
the V1 ABI. However, there are explicit instantiation declarations for all
three symbols in the header, which are not correct as we do not intend to find
an instantiation of these functions that is provided elsewhere.

(A recent change to clang to properly diagnose explicit instantiation
declarations of internal linkage functions -- required by [temp.explicit]p13 --
had to be rolled back because it diagnosed these explicit instantiations.)

Remove the explicit instantiation declarations, and remove the explicit
instantiation definitions for V2 of the libc++ ABI onwards.

llvm-svn: 359243
2019-04-25 21:31:58 +00:00
..
3.9 Fix handling of Apple target triple when checking the ABI lists. 2017-01-20 00:57:08 +00:00
4.0 Update ABI list for 4.0 release 2017-03-02 19:59:53 +00:00
5.0 Update ABI lists after change in r333467. 2018-05-29 23:52:14 +00:00
6.0 Update ABI lists after change in r333467. 2018-05-29 23:52:14 +00:00
8.0 Add ABI list directories for 8.0 2019-02-10 04:09:46 +00:00
CHANGELOG.TXT [libc++] Make sure we re-export some missing libc++abi symbols from libc++ 2019-04-18 17:18:15 +00:00
CMakeLists.txt [libcxx] Fix the definition of the check-cxx-abilist target on Darwin 2018-09-22 18:39:38 +00:00
README.TXT
x86_64-apple-darwin.v1.abilist [libc++] Make sure we re-export some missing libc++abi symbols from libc++ 2019-04-18 17:18:15 +00:00
x86_64-apple-darwin.v2.abilist Remove incorrect explicit instantiation declarations for valarray 2019-04-25 21:31:58 +00:00
x86_64-unknown-linux-gnu.v1.abilist Fixup ABI lists on Linux after adding <filesystem> to the dylib. 2019-03-19 19:20:43 +00:00

README.TXT

This directory contains abi lists representing the symbols exported
by the libc++ library. The lists are generated using sym_extract.py.

Every time a symbol is added or removed from the libc++ library each of the
lists *MUST* be updated to reflect the changes.

TODO Add more documentation about generating and using the lists.
TODO Add more documentation about the build configuration the lists are generated against.