summaryrefslogtreecommitdiff
path: root/file.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2006-02-06 16:21:59 +0000
committerPaul Smith <psmith@gnu.org>2006-02-06 16:21:59 +0000
commita4e3523fe408158c15026a884d1515c34de27de6 (patch)
tree04e2cbfa11c6c6f30c625a6427f736d0719fbb76 /file.c
parent7a8549f5dd339eec9cb57c8cfe11cf71b77759d2 (diff)
downloadgunmake-a4e3523fe408158c15026a884d1515c34de27de6.tar.gz
Fix Savannah bugs # 15341, 15534, and 15533.
Rewrite large chunks of the "Commands" section of the manual to better describe then backslash-newline handling, the SHELL variable, etc.
Diffstat (limited to 'file.c')
-rw-r--r--file.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/file.c b/file.c
index ddec34d..383f460 100644
--- a/file.c
+++ b/file.c
@@ -180,14 +180,16 @@ enter_file (char *name)
new->update_status = -1;
if (HASH_VACANT (f))
- hash_insert_at (&files, new, file_slot);
+ {
+ new->last = new;
+ hash_insert_at (&files, new, file_slot);
+ }
else
{
/* There is already a double-colon entry for this file. */
new->double_colon = f;
- while (f->prev != 0)
- f = f->prev;
- f->prev = new;
+ f->last->prev = new;
+ f->last = new;
}
return new;
@@ -718,14 +720,18 @@ snap_deps (void)
f2->command_flags |= COMMANDS_SILENT;
}
- f = lookup_file (".POSIX");
- if (f != 0 && f->is_target)
- posix_pedantic = 1;
-
f = lookup_file (".NOTPARALLEL");
if (f != 0 && f->is_target)
not_parallel = 1;
+#ifndef NO_MINUS_C_MINUS_O
+ /* If .POSIX was defined, remove OUTPUT_OPTION to comply. */
+ /* This needs more work: what if the user sets this in the makefile?
+ if (posix_pedantic)
+ define_variable (STRING_SIZE_TUPLE("OUTPUT_OPTION"), "", o_default, 1);
+ */
+#endif
+
/* Remember that we've done this. */
snapped_deps = 1;
}