OpenGL defines its own data type. For example, GLintor GLsizei. And they are different between platforms. Where can I find type restrictions?
GLint
GLsizei
A language tag has been added to specify the domain. And I know that GL * types will be allowed into the base C types, but they can be different in platform. (actually why they are defined.) And even the basic types of C are not guaranteed to be fixed size on any platform. That's why it exists limit.h, and I expect that GL types also have a similar thing for GL * types, because they are semantically different from C types, which means that they need their own boundary definitions.
limit.h
, ++, std::numeric_limits<GLint>::max() .
std::numeric_limits<GLint>::max()
, GLint int , , 32 , MAX_INT , int 32 (, x86_64).
int
x86_64
EDIT: , , pmr OpenGL, , GLint GLsizei int. GLint GLsizei 32 .
GL/gl.h
typedef int GLint; typedef int GLsizei;
int . , INT_MIN INT_MAX, limit.h( C).