From d4af9d35ae7099529697467c9b298f031bed1c93 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 26 Feb 2020 17:00:11 +0300 Subject: Try to work around Clang optimization bug --- libbuild2/test/script/runner.cxx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'libbuild2/test') diff --git a/libbuild2/test/script/runner.cxx b/libbuild2/test/script/runner.cxx index 3d03bd8..a11ec2c 100644 --- a/libbuild2/test/script/runner.cxx +++ b/libbuild2/test/script/runner.cxx @@ -1169,6 +1169,13 @@ namespace build2 size_t ci, size_t li, const location& ll, bool diag) { + // These are used to be defined much later but there is some + // optimization bug in Clang (as of 10.0.0-rc2; see the #45021 bug + // report for details). + // + path osp; + fdpipe ofd; + if (bc == ec) // End of the pipeline. return true; @@ -1516,9 +1523,6 @@ namespace build2 return fd; }; - path osp; - fdpipe ofd; - // If this is the last command in the pipeline than redirect the // command process stdout to a file. Otherwise create a pipe and // redirect the stdout to the write-end of the pipe. The read-end will -- cgit v1.1