Don't use _BitScanForward64/_BitScanReverse64 on 32-bit MSVC builds
authorDavid Rowley <drowley@postgresql.org>
Wed, 7 Jun 2023 22:10:34 +0000 (10:10 +1200)
committerDavid Rowley <drowley@postgresql.org>
Wed, 7 Jun 2023 22:10:34 +0000 (10:10 +1200)
commit53ea2b7ad050ce4ad95c89bb55197209b65886a1
tree88b089e2ad52fc360265c673149f594945ca1f3c
parentf24523672de9c37423800a74cffa7aec27146047
Don't use _BitScanForward64/_BitScanReverse64 on 32-bit MSVC builds

677319746 added support for making use of MSVC's bit scanning functions.
However, that commit failed to consider 32-bit MSVC builds where the
64-bit versions of these functions are unavailable.  This resulted in
compilation failures on 32-bit MSVC.

Here we adjust the code so we fall back on the manual way of finding the
bit positions for 64-bit integers when building on 32-bit MSVC.

Bug: #17967
Reported-by: Youmiu Mo
Discussion: https://postgr.es/m/17967-cd21e34a314141b2@postgresql.org
src/include/port/pg_bitutils.h