X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/fd680aff4b56cdf9ece7d6ccfbd9e43ba88ef365..9786185611c072036751fdfcc1731158a0c2d20c:/src/cdecl.h diff --git a/src/cdecl.h b/src/cdecl.h index 63034f4..39902f5 100644 --- a/src/cdecl.h +++ b/src/cdecl.h @@ -1,5 +1,5 @@ /* - * Copyright © 2011, 2021, 2023 Nick Bowler + * Copyright © 2011, 2021, 2023-2024 Nick Bowler * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,8 +18,7 @@ #ifndef CDECL_H_ #define CDECL_H_ -#include -#include +#include /* for size_t */ #if __GNUC__ # define CDECL__INLINE __inline @@ -34,6 +33,14 @@ typedef _Bool cdecl_bool; typedef signed char cdecl_bool; #endif +#if HAVE_UNSIGNED_LONG_LONG_INT +typedef unsigned long long cdecl_uintmax; +#elif HAVE_UNSIGNED___INT64 +typedef unsigned __int64 cdecl_uintmax; +#else +typedef unsigned long cdecl_uintmax; +#endif + /* Declaration specifier kinds. */ enum { CDECL_SPEC_TYPE = 256, @@ -98,7 +105,7 @@ struct cdecl { } pointer; struct cdecl_array { char *vla; - uintmax_t length; + cdecl_uintmax length; } array; struct cdecl_function { struct cdecl *parameters;