Describe the bug, including details regarding any error messages, version, and platform.
As mentioned here, Arrow CMake currently uses version 1.16 of GoogleTest. However, as noted in this commit, prior to version 1.17, GoogleTest used union-based type punning, which is considered undefined behavior in C++ (see cppreference):
It is undefined behavior to read from the member of a union that wasn't most recently written.
Therefore, the version of GoogleTest used by Arrow should be updated to 1.17 to avoid this UB.
Component(s)
C++