mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 02:03:03 +00:00
c: port YY_ATTRIBUTE_UNUSED to Sun C 5.12
Sun C 5.12 defines __SUNPRO_C to 0x5120 but diagnoses ‘__attribute__ ((__unused__))’. Change the ifdefs to use the same method as Gnulib in this area. * data/skeletons/c.m4 (YY_ATTRIBUTE): Remove, since not all attributes were added in the same compiler version. (YY_ATTRIBUTE_PURE, YY_ATTRIBUTE_UNUSED): Use specific GCC version for each attribute. Pay no attention to __SUNPRO_C. * tests/headers.at (Several parsers): Tighten tests accordingly.
This commit is contained in:
@@ -282,22 +282,20 @@ m4_define([b4_table_value_equals],
|
|||||||
# Provide portable compiler "attributes". If "noreturn" is passed, define
|
# Provide portable compiler "attributes". If "noreturn" is passed, define
|
||||||
# _Noreturn.
|
# _Noreturn.
|
||||||
m4_define([b4_attribute_define],
|
m4_define([b4_attribute_define],
|
||||||
[[#ifndef YY_ATTRIBUTE
|
[[#ifndef YY_ATTRIBUTE_PURE
|
||||||
# if (defined __GNUC__ \
|
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
|
||||||
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|
# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||||
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
|
|
||||||
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
|
|
||||||
# else
|
# else
|
||||||
# define YY_ATTRIBUTE(Spec) /* empty */
|
# define YY_ATTRIBUTE_PURE
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef YY_ATTRIBUTE_PURE
|
|
||||||
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef YY_ATTRIBUTE_UNUSED
|
#ifndef YY_ATTRIBUTE_UNUSED
|
||||||
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
|
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
|
||||||
|
# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
|
||||||
|
# else
|
||||||
|
# define YY_ATTRIBUTE_UNUSED
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
]m4_bmatch([$1], [\bnoreturn\b], [[/* The _Noreturn keyword of C11. */
|
]m4_bmatch([$1], [\bnoreturn\b], [[/* The _Noreturn keyword of C11. */
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ AT_PERL_CHECK([[-n -0777 -e '
|
|||||||
|YYChar
|
|YYChar
|
||||||
|YYPUSH_MORE(?:_DEFINED)?
|
|YYPUSH_MORE(?:_DEFINED)?
|
||||||
|YYUSE
|
|YYUSE
|
||||||
|YY_ATTRIBUTE(?:_PURE|_UNUSED)?
|
|YY_ATTRIBUTE(?:_PURE|_UNUSED)
|
||||||
|YY_CONSTEXPR
|
|YY_CONSTEXPR
|
||||||
|YY_COPY
|
|YY_COPY
|
||||||
|YY_CPLUSPLUS
|
|YY_CPLUSPLUS
|
||||||
|
|||||||
Reference in New Issue
Block a user