History log of /external/libcxx/src/functional.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c79549b70e66c251c15dd145c964edb70fa2e2b3 17-Jan-2018 Dan Albert <danalbert@google.com> Revert "Revert "Merge to upstream r304942.""

This reverts commit 38a0d5af7e5d13553fe623053e05dffc06403280.

Test: make checkbuild
Test: ./run_tests.py
Test: ./run_tests.py --bitness 64
/external/libcxx/src/functional.cpp
38a0d5af7e5d13553fe623053e05dffc06403280 11-Jan-2018 Dan Albert <danalbert@google.com> Revert "Merge to upstream r304942."

This reverts commit 83b1388ecd96b1cc641522ae3b6338898be32a17, reversing
changes made to f20819f925e1ca67fc187e5f08413624a5994efc.

Test: treehugger
Bug: None
/external/libcxx/src/functional.cpp
f012f260c391937dc5810c5a640f33447a8525cd 28-Mar-2017 Shoaib Meenai <smeenai@fb.com> [libc++] Add a key function for bad_function_call

Summary:
bad_function_call is currently an empty class, so any object files using
that class will end up with their own copy of its typeinfo, typeinfo
name and vtable, leading to unnecessary duplication that has to be
resolved by the dynamic linker. Instead, give bad_function_call a key
function and put a definition for that key function in libc++ itself, to
centralize the typeinfo and vtable.

This is consistent with the behavior for other exception classes. The
key functions are defined in libc++ rather than libc++abi since the
class is defined in the libc++ versioning namespace, so ABI
compatibility with libstdc++ is not a concern.

Guard this change behind an ABI macro, since it isn't backwards
compatible (i.e., clients built against the new libc++ headers wouldn't
be able to run against an older libc++ library).

Reviewers: mclow.lists, EricWF

Subscribers: mgorny, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@298937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/functional.cpp