]> git.saurik.com Git - bison.git/blobdiff - src/complain.h
package: a bit of trouble shooting indications
[bison.git] / src / complain.h
index a43318482cb137523258755b900c6eb3dbb23efb..63347785c38b6a040cbf6a654a754207ed9cc0f3 100644 (file)
@@ -1,6 +1,6 @@
 /* Declaration for error-reporting function for Bison.
 
-   Copyright (C) 2000-2002, 2006, 2009-2013 Free Software Foundation,
+   Copyright (C) 2000-2002, 2006, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -98,7 +98,8 @@ 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.
@@ -123,14 +124,18 @@ void complain_indent (location const *loc, warnings flags, unsigned *indent,
 void deprecated_directive (location const *loc,
                            char const *obsolete, char const *updated);
 
-/** 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.  */
+/** 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.  */
 typedef enum
   {
-    status_none,
-    status_warning_as_error,
-    status_complaint
+    status_none,             /**< No diagnostic issued so far.  */
+    status_warning_as_error, /**< A warning was issued (but no error).  */
+    status_complaint         /**< An error was issued.  */
   } err_status;
 
 /** Whether an error was reported.  */