This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 128-bit integer - nonsensical documentation?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]