]> git.saurik.com Git - bison.git/blobdiff - src/main.c
Merge remote-tracking branch 'origin/maint'
[bison.git] / src / main.c
index fdb26ac69973fa2cbf476204d544d09b05ee3365..39b39c7a5902f6bc33e844c65c3ffe9e9823a762 100644 (file)
@@ -44,6 +44,7 @@
 #include "print.h"
 #include "print_graph.h"
 #include "print-xml.h"
+#include <quote.h>
 #include "reader.h"
 #include "reduce.h"
 #include "scan-code.h"
@@ -54,7 +55,6 @@
 #include "uniqstr.h"
 
 
-
 int
 main (int argc, char *argv[])
 {
@@ -64,6 +64,14 @@ main (int argc, char *argv[])
   (void) bindtextdomain ("bison-runtime", LOCALEDIR);
   (void) textdomain (PACKAGE);
 
+  {
+    char const *cp = getenv ("LC_CTYPE");
+    if (cp && STREQ (cp, "C"))
+      set_custom_quoting (&quote_quoting_options, "'", "'");
+    else
+      set_quoting_style (&quote_quoting_options, locale_quoting_style);
+  }
+
   atexit (close_stdout);
 
   uniqstrs_new ();
@@ -86,7 +94,7 @@ main (int argc, char *argv[])
   reader ();
   timevar_pop (TV_READER);
 
-  if (complaint_issued)
+  if (complaint_status == status_complaint)
     goto finish;
 
   /* Find useless nonterminals and productions and reduce the grammar. */
@@ -117,7 +125,7 @@ main (int argc, char *argv[])
      declarations.  */
   timevar_push (TV_CONFLICTS);
   conflicts_solve ();
-  if (!muscle_percent_define_flag_if ("lr.keep-unreachable-states"))
+  if (!muscle_percent_define_flag_if ("lr.keep-unreachable-state"))
     {
       state_number *old_to_new = xnmalloc (nstates, sizeof *old_to_new);
       state_number nstates_old = nstates;
@@ -134,8 +142,7 @@ main (int argc, char *argv[])
   tables_generate ();
   timevar_pop (TV_ACTIONS);
 
-  grammar_rules_useless_report
-    (_("rule useless in parser due to conflicts"));
+  grammar_rules_useless_report (_("rule useless in parser due to conflicts"));
 
   /* Output file names. */
   compute_output_file_names ();
@@ -166,7 +173,7 @@ main (int argc, char *argv[])
 
   /* Stop if there were errors, to avoid trashing previous output
      files.  */
-  if (complaint_issued)
+  if (complaint_status == status_complaint)
     goto finish;
 
   /* Lookahead tokens are no longer needed. */
@@ -208,5 +215,5 @@ main (int argc, char *argv[])
   timevar_stop (TV_TOTAL);
   timevar_print (stderr);
 
-  return complaint_issued ? EXIT_FAILURE : EXIT_SUCCESS;
+  return complaint_status ? EXIT_FAILURE : EXIT_SUCCESS;
 }