summaryrefslogtreecommitdiff
path: root/remake.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2005-02-28 09:41:25 +0000
committerPaul Smith <psmith@gnu.org>2005-02-28 09:41:25 +0000
commita2232470c27151ba0c1c37f3eba1e35396d7eabf (patch)
tree114e7f14497e728849bf30374145ec9383212905 /remake.c
parentd2516343bc5c105543b22eed3b073a8a4e14a659 (diff)
downloadgunmake-a2232470c27151ba0c1c37f3eba1e35396d7eabf.tar.gz
- Fix bug #7144 (infinite loop sometimes with -q and double-colon rules)
- Resolve support request #103195 (rationalize wordlist fn arguments)
Diffstat (limited to 'remake.c')
-rw-r--r--remake.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/remake.c b/remake.c
index e1def64..eb34c92 100644
--- a/remake.c
+++ b/remake.c
@@ -176,7 +176,7 @@ update_goal_chain (struct dep *goals)
/* If -q just triggered, stop immediately. It doesn't
matter how much more we run, since we already know
the answer to return. */
- stop = (!keep_going_flag && !question_flag
+ stop = (question_flag && !keep_going_flag
&& !rebuilding_makefiles);
}
else
@@ -307,8 +307,9 @@ update_file (struct file *file, unsigned int depth)
status |= update_file_1 (f, depth);
check_renamed (f);
+ /* If we got an error, don't bother with double_colon etc. */
if (status != 0 && !keep_going_flag)
- break;
+ return status;
if (f->command_state == cs_running
|| f->command_state == cs_deps_running)