+2006-02-08 Boris Kolpackov <boris@kolpackov.net>
+
+ * job.h (struct child): Add dontcare bitfield.
+ * job.c (new_job): Cache dontcare flag.
+ * job.c (reap_children): Use cached dontcare flag instead of the
+ one in struct file. Fixes Savannah bug #15641.
+
2006-02-06 Paul D. Smith <psmith@gnu.org>
* vpath.c (selective_vpath_search): If the file we find has a
{
if (ignored && silent_flag)
return;
-
+
#ifdef VMS
if (!(exit_code & 1))
error (NILF,
if (c->good_stdin)
good_stdin_used = 0;
- dontcare = c->file->dontcare;
+ dontcare = c->dontcare;
if (child_failed && !c->noerror && !ignore_errors_flag)
{
c->command_lines = lines;
c->sh_batch_file = NULL;
+ /* Cache dontcare flag because file->dontcare can be changed once we
+ return. Check dontcare inheritance mechanism for details. */
+ c->dontcare = file->dontcare;
+
/* Fetch the first command line to be run. */
job_next_command (c);
unsigned int good_stdin:1; /* Nonzero if this child has a good stdin. */
unsigned int deleted:1; /* Nonzero if targets have been deleted. */
+ unsigned int dontcare:1; /* Saved dontcare flag. */
};
extern struct child *children;
+2006-02-08 Boris Kolpackov <boris@kolpackov.net>
+
+ * scripts/features/parallelism: Add a test for bug #15641.
+
2006-02-06 Paul D. Smith <psmith@gnu.org>
* scripts/options/dash-W: Add a test for bug #15341.
512);
+# Test for Savannah bug #15641.
+#
+run_make_test('
+.PHONY: all
+all:; @:
+
+-include foo.d
+
+foo.d: comp
+ @echo building $@
+
+comp: mod_a.o mod_b.o; @:
+
+mod_a.o mod_b.o:
+ @exit 1
+', '-j2', '');
+
+
1;