https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113887
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jens Gustedt from comment #7) > (In reply to Joseph S. Myers from comment #5) > > ... including __INT128_C and __UINT128_C > > defined to use an appropriate constant suffix. > > You don't need a specific suffix for these types if you have `_BitInt(128)`, > there is no need to invest thoughts or development time in this. > Something like > > #define INT128_C(N) ((__int128)+ N ## W) You mean WB? > With that observation you easily also create `MIN` and `MAX` macros > > #define INT128_MAX (INT128_C(1) << 126) That is certainly not the right INT128_MAX. The right value is INT128_C (170141183460469231731687303715884105727) while INT128_C(1) << 126 is just INT128_C (85070591730234615865843651857942052864).