[libc++abi][AIX] Use different function pointer types for destructors with 1 or 2 args (#89624)

The destructors generated by the legacy IBM `xlclang++` compiler can
take 1 or 2 arguments and the differences were handled by type `cast`
where it is needed. Clang now treats the `cast` here as an error after
https://github.com/llvm/llvm-project/commit/999d4f840777bf8de26d45947192aa0728edc0fb
landed with `-Xextra -Werror`. The issue had been worked around by using
`#pragma GCC diagnostic push/pop`. This patch defines 2 separate
destructor types for 1 argument and 2 arguments respectively so `cast`
is not needed.

NOKEYCHECK=True
GitOrigin-RevId: 47214903b1c6d0590780c7e69a2e3e612f43e4a2
1 file changed