X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/cc8962bdde81b04aa728aef21e53b4a08a0debfe..827bc59ca118956fe84309e2ea3db6bfaabf374c:/src/scan-skel.l?ds=inline diff --git a/src/scan-skel.l b/src/scan-skel.l index 654491ef..22756267 100644 --- a/src/scan-skel.l +++ b/src/scan-skel.l @@ -1,6 +1,6 @@ /* Scan Bison Skeletons. -*- C -*- - Copyright (C) 2001-2013 Free Software Foundation, Inc. + Copyright (C) 2001-2015 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -83,7 +83,7 @@ static void fail_for_invalid_at (char const *at); "@output(" at_init (&argc, argv, &at_ptr, &at_output); /* This pattern must not match more than the previous @ patterns. */ -@[^@{}'(\n]* fail_for_invalid_at (yytext); +@[^@{}\'(\n]* fail_for_invalid_at (yytext); \n out_lineno++; ECHO; [^@\n]+ ECHO; @@ -183,6 +183,8 @@ flag (const char *arg) /* compare with values issued from b4_error */ if (STREQ (arg, "complain")) return complaint; + else if (STREQ (arg, "deprecated")) + return Wdeprecated; else if (STREQ (arg, "fatal")) return fatal; else if (STREQ (arg, "note")) @@ -190,7 +192,7 @@ flag (const char *arg) else if (STREQ (arg, "warn")) return Wother; else - aver (false); + abort (); } static void @@ -242,8 +244,9 @@ at_output (int argc, char *argv[], char **out_namep, int *out_linenop) xfclose (yyout); } *out_namep = xstrdup (argv[1]); - output_file_name_check (out_namep); - yyout = xfopen (*out_namep, "w"); + output_file_name_check (out_namep, true); + /* If there were errors, do not generate the output. */ + yyout = xfopen (complaint_status ? "/dev/null" : *out_namep, "w"); *out_linenop = 1; }