Reid,
Well, if it doesn't break anything else, I'd fix the header file. The
standard type name is supposed to uint64_t not u_int64_t. I would just
change the header file to define both of them, something like:
typedef u_int64_t uint64_t;
You could do that in /usr/include/types.h,
I've tried it and it doesn't break anything, but ...
or we could add it to a
header file in llvm/include/Config, ifdef'd for Interix.
I prefer the latter method, because other people should, hopefully, compile it independently without any further knowledge of Interix intrinsics.
The best way could be:
1) configure tests wether it's running on the Interix platform (__INTERIX set).
2) Add ifdef'd typedef u_int64_t uint64_t; in llvm/include/Config.h and possible other required values/types for LLVM.
/Henrik
Henrik Bach wrote:
Reid,
Well, if it doesn't break anything else, I'd fix the header file. The
standard type name is supposed to uint64_t not u_int64_t. I would just
change the header file to define both of them, something like:
typedef u_int64_t uint64_t;
You could do that in /usr/include/types.h,
I've tried it and it doesn't break anything, but ...
or we could add it to a
header file in llvm/include/Config, ifdef'd for Interix.
I prefer the latter method, because other people should, hopefully, compile it independently without any further knowledge of Interix intrinsics.
The best way could be:
1) configure tests wether it's running on the Interix platform (__INTERIX set).
2) Add ifdef'd typedef u_int64_t uint64_t; in llvm/include/Config.h and possible other required values/types for LLVM.
I think that there should be a general test for u_int64_t and then typdef it if uint64_t doesn't exist. I have a feeling Interix isn't the only platform that doesn't support uint<x>_t (I seem to recall that AIX doesn't either).
-- John T.