readme-release
realloc-posix
spawn-pipe stdbool stpcpy strdup-posix strerror strtoul strverscmp
- unistd unistd-safer unlocked-io update-copyright unsetenv verify
+ unistd unistd-safer unlink unlocked-io
+ update-copyright unsetenv verify
warnings
xalloc
xalloc-die
}
}
+void
+unlink_generated_sources (void)
+{
+ int i;
+ for (i = 0; i < generated_files_size; i++)
+ if (generated_files[i].is_source)
+ /* Ignore errors. The file might not even exist. */
+ unlink (generated_files[i].name);
+}
+
void
output_file_names_free (void)
{
*/
void output_file_name_check (char **file_name, bool source);
+/** Remove all the generated source files. */
+void unlink_generated_sources (void);
+
FILE *xfopen (const char *name, char const *mode);
void xfclose (FILE *ptr);
FILE *xfdopen (int fd, char const *mode);
/* Process the selected skeleton file. */
output_skeleton ();
+ /* If late errors were generated, destroy the generated source
+ files. */
+ if (complaint_status)
+ unlink_generated_sources ();
+
obstack_free (&format_obstack, NULL);
}
]AT_DATA([$1],
[$2[
%%
-foo: {};
+foo: %empty {};
]])[
]AT_BISON_CHECK([$3 $1], [$5], [], [ignore])[
[foo.dot foo.output foo.xml],
[1])
+# Do not generate code when there are late errors (even warnings as
+# errors).
+AT_CHECK_OUTPUT([foo.y], [%define useless],
+ [--defines --graph --xml --report=all -Wall -Werror],
+ [foo.dot foo.output foo.xml],
+ [1])
+
+
## ------------ ##
## C++ output. ##
## ------------ ##