X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/f68a49ed4942714616e692f0fa2a8315368bae3b..89ff1b5e71a6d8aa34b3578282528adb43b198cd:/src/complain.h diff --git a/src/complain.h b/src/complain.h index 422c48f4..0d81503d 100644 --- a/src/complain.h +++ b/src/complain.h @@ -98,9 +98,13 @@ typedef enum no_caret = 1 << 14, /**< Do not display caret location. */ /**< All above warnings. */ - Wall = ~complaint & ~fatal & ~silent + Weverything = ~complaint & ~fatal & ~silent, + Wall = Weverything & ~Wyacc } warnings; +/** Whether the warnings of \a flags are all unset. + (Never enabled, never disabled). */ +bool warning_is_unset (warnings flags); /** Make a complaint, with maybe a location. */ void complain (location const *loc, warnings flags, char const *message, ...) @@ -120,6 +124,10 @@ void complain_indent (location const *loc, warnings flags, unsigned *indent, void deprecated_directive (location const *loc, char const *obsolete, char const *updated); +/** Report a repeated directive for a rule. */ +void duplicate_directive (char const *directive, + location first, location second); + /** Warnings treated as errors shouldn't stop the execution as regular errors should (because due to their nature, it is safe to go on). Thus, there are three possible execution statuses. */