I'm currently working on a CEF wrapper and ran into a big problem when going cross platform.
When I use bindgen on the CEF headers, it generates enums that vary by type, depending on the platform. On Windows, all enums are
i32, while on macOS and Linux, they vary depending on whether they contain negative numbers (which is clang's expected behavior, as far as I can tell). However, I haven't found a way yet to unify this behavior to be the same on all platforms (I actually don't care either way, as long as it's the same).
I'm using llvm 9 on all three platforms. I have to generate them separately, because the headers differ (for example, the native type for the window CEF renders into is different).
Does somebody have an idea how to force llvm to behave the same on all platforms?