On Thu, 27 Aug 2015, Jonathan Wakely wrote:
Are you allowed to include typedefs for uint128_t and int128_t in
<stdint.h>, or would that also only be allowed if it is a proper
extended integer?
Those names are not in the namespace reserved for the implementation,
so doing that would cause this valid code to fail to compile:
#include <stdint.h>
typedef struct { } uint128_t;
int main() { }
C11
7.31 Future library directions
7.31.10 Integer types <stdint.h>
Typedef names beginning with int or uint and ending with _t may be added
to the types defined in the <stdint.h> header.
7.20.1.1 also gives restrictions on the semantics of any type called
uintN_t.
I would interpret that as making your program non-portable, if not broken.
--
Marc Glisse