I understand that getting the correct integer type from #define is very difficult, however using UINT64_C should clarify to bindgen that it's a 64-bit integer. Currently the macro parser fails on UINT64_C and the Clang macro fallback is needed, but that still generates a 32-bit integer.
Header:
#include <stdint.h>
#define SOMETHING UINT64_C(1)
Without --clang-macro-fallback:
bindgen --allowlist-item SOMETHING header.h
Output:
/* automatically generated by rust-bindgen 0.71.1 */
With --clang-macro-fallback:
bindgen --clang-macro-fallback --allowlist-item SOMETHING header.h
Output:
/* automatically generated by rust-bindgen 0.71.1 */
pub const SOMETHING: u32 = 1;