summaryrefslogtreecommitdiff
path: root/src/complain.c
diff options
context:
space:
mode:
authorAkim Demaille <demaille@gostai.com>2009-04-20 12:24:23 +0200
committerJoel E. Denny <jdenny@ces.clemson.edu>2009-04-29 18:50:12 -0400
commit663ce7bb3e7e325eaa321f22509e6163f1bec4e2 (patch)
tree0c61a4258d468c476a5d95e334ff04f5cecf18df /src/complain.c
parent379261b3fd4e799c37bda6d354e7b8fe582357a6 (diff)
downloadbison-663ce7bb3e7e325eaa321f22509e6163f1bec4e2.tar.gz
variables: accept dashes.
* src/scan-gram.l ({id}): Also accept dashes after the initial letter. ({directive}): Use {id}. * src/parse-gram.y: Comment and formatting changes. * doc/bison.texinfo (Symbols): Adjust the lexical definitions of symbols. * src/complain.h, src/complain.c (yacc_at): New. * src/symtab.c (symbol_new): Use yacc_at to report inappropriate symbol names. * src/output.c (token_definitions_output): Do not #define token names with dashes. (cherry picked from commit 4f646c3794c45940aaf96d5409eff02a2c74978e) Conflicts: data/bison.m4 src/parse-gram.y
Diffstat (limited to 'src/complain.c')
-rw-r--r--src/complain.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/complain.c b/src/complain.c
index 2c26c4e4..4cc35c8a 100644
--- a/src/complain.c
+++ b/src/complain.c
@@ -1,6 +1,6 @@
/* Declaration for error-reporting function for Bison.
- Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006
+ Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2009
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -120,6 +120,27 @@ complain (const char *message, ...)
}
+/*--------------------------------------------------------------.
+| An incompatibility with POSIX Yacc: mapped either to warn* or |
+| complain* depending on yacc_flag. |
+`--------------------------------------------------------------*/
+
+void
+yacc_at (location loc, const char *message, ...)
+{
+ if (yacc_flag)
+ {
+ ERROR_MESSAGE (&loc, NULL, message);
+ complaint_issued = true;
+ }
+ else if (warnings_flag & warnings_yacc)
+ {
+ set_warning_issued ();
+ ERROR_MESSAGE (&loc, _("warning"), message);
+ }
+}
+
+
/*-------------------------------------------------.
| A severe error has occurred, we cannot proceed. |
`-------------------------------------------------*/