since #define in C can expand to arbitrary C code, some of which can only be correctly parsed within the expaned context, and when parsed alone, the C code snippet may not have rust equivalence at all.
so, bindgen's support for #define is at best effort, it tries to support common form of macros including constants and function-like, but unfortunately, your use case is not supproted yet, but there's an pull request for this particular use case:
for now, if you have many such macros which have similar format, you may be able to work around it using the modify_macro parsing callback, for example, when you reach #define X ((int) 'c'), you can evaluate the constant symbolically and simplify the macro definition into something like #define X 99 which can be parsed by bindgen.