diff options
| author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-03-15 08:31:29 +0900 |
|---|---|---|
| committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-03-15 08:35:45 +0900 |
| commit | 044a51d57c9db8d3aad5f1ee43f6c6d601dbfdbc (patch) | |
| tree | aaf2fe12375fec89b7e5bf347ab71033efe12a02 /ninja.cc | |
| parent | c3a483478a6a38caf174c1a439dda6e0c91a0cd6 (diff) | |
Fix https://github.com/google/kati/issues/47
Diffstat (limited to 'ninja.cc')
| -rw-r--r-- | ninja.cc | 12 |
1 files changed, 3 insertions, 9 deletions
@@ -407,25 +407,19 @@ class NinjaGenerator { static bool was_gomacc_found = false; bool got_descritpion = false; bool use_gomacc = false; - bool should_ignore_error = false; auto command_count = commands.size(); for (const Command* c : commands) { size_t cmd_begin = cmd_buf->size(); if (!cmd_buf->empty()) { - if (should_ignore_error) { - *cmd_buf += " ; "; - } else { - *cmd_buf += " && "; - } + *cmd_buf += " && "; } - should_ignore_error = c->ignore_error; const char* in = c->cmd.c_str(); while (isspace(*in)) in++; - bool needs_subshell = command_count > 1; + bool needs_subshell = (command_count > 1 || c->ignore_error); if (needs_subshell) *cmd_buf += '('; @@ -455,7 +449,7 @@ class NinjaGenerator { was_gomacc_found = true; } - if (c == commands.back() && c->ignore_error) { + if (c->ignore_error) { *cmd_buf += " ; true"; } |
