Warn about output files that are generated by the skeletons and that

conflict with other output files.
* data/glr.c: Don't generate the header file here when glr.cc does.
* src/files.c (file_names, file_names_count): New static globals.
(compute_output_file_names): Invoke output_file_name_check for files
not generated by the skeletons and remove existing checks.
(output_file_name_check): New function that warns about conflicting
output file names.
(output_file_names_free): Free file_names.
* src/files.h (output_file_name_check): Declare.
* src/scan-skel.l: Invoke output_file_name_check for files generated by
the skeletons.
* tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): New.
(Conflicting output files): New tests.
This commit is contained in:
Joel E. Denny
2006-12-10 00:16:15 +00:00
parent 178e123eec
commit 3f7ca62853
6 changed files with 84 additions and 16 deletions

View File

@@ -2624,7 +2624,11 @@ yypdumpstack (yyGLRStack* yystackp)
]
b4_epilogue
b4_defines_if(
dnl
dnl glr.cc produces its own header.
dnl
m4_if(b4_skeleton, ["glr.c"],
[b4_defines_if(
[@output @output_header_name@
b4_copyright([Skeleton interface for Bison GLR parsers in C],
[2002, 2003, 2004, 2005, 2006])
@@ -2636,4 +2640,4 @@ extern YYSTYPE b4_prefix[]lval;
b4_locations_if([b4_pure_if([],
[extern YYLTYPE b4_prefix[]lloc;])
])
])
])])