diff --git a/libcxx/include/__config b/libcxx/include/__config --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -169,6 +169,10 @@ # define _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION # endif +# if defined(_AIX) +# define _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION +# endif + # define _LIBCPP_TOSTRING2(x) #x # define _LIBCPP_TOSTRING(x) _LIBCPP_TOSTRING2(x) diff --git a/libcxx/test/libcxx/vendor/ibm/bad_function_call.cpp b/libcxx/test/libcxx/vendor/ibm/bad_function_call.cpp new file mode 100644 --- /dev/null +++ b/libcxx/test/libcxx/vendor/ibm/bad_function_call.cpp @@ -0,0 +1,8 @@ +#include + +void foo() {} + +int main() { + std::function r(foo); + r(); +}