aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2')
-rw-r--r--libbuild2/cc/compile-rule.cxx12
1 files changed, 5 insertions, 7 deletions
diff --git a/libbuild2/cc/compile-rule.cxx b/libbuild2/cc/compile-rule.cxx
index e394175..9ae76a9 100644
--- a/libbuild2/cc/compile-rule.cxx
+++ b/libbuild2/cc/compile-rule.cxx
@@ -4625,7 +4625,12 @@ namespace build2
if (pr.wait ())
{
if (!bad_error) // Ignore expected successes (we are done).
+ {
+ if (!restart && psrc)
+ psrcw.close ();
+
continue;
+ }
fail << "expected error exit status from " << x_lang
<< " compiler";
@@ -4726,13 +4731,6 @@ namespace build2
}
else
run_finish (args, pr); // Throws.
-
- // Success.
- //
- assert (!restart);
-
- if (psrc)
- psrcw.close ();
}
catch (const process_error& e)
{