diff --git a/NEWS b/NEWS index e3633e05..1fd12f9f 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ GNU Bison NEWS * Noteworthy changes in release ?.? (????-??-??) [?] +** Bug fixes + +*** C-language parsers now work around quirks of HP-UX 11.23 (2003). * Noteworthy changes in release 3.7.4 (2020-11-14) [stable] diff --git a/data/skeletons/c.m4 b/data/skeletons/c.m4 index 07148ef8..14a16a9d 100644 --- a/data/skeletons/c.m4 +++ b/data/skeletons/c.m4 @@ -242,6 +242,18 @@ typedef int_least16_t yytype_int16; typedef short yytype_int16; #endif +/* Work around bug in HP-UX 11.23, which defines these macros + incorrectly for preprocessor constants. This workaround can likely + be removed in 2023, as HPE has promised support for HP-UX 11.23 + (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of + . */ +#ifdef __hpux +# undef UINT_LEAST8_MAX +# undef UINT_LEAST16_MAX +# define UINT_LEAST8_MAX 255 +# define UINT_LEAST16_MAX 65535 +#endif + #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ typedef __UINT_LEAST8_TYPE__ yytype_uint8; #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \