diff options
-rw-r--r-- | build2/diagnostics.cxx | 2 | ||||
-rw-r--r-- | build2/test/script/parser.cxx | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/build2/diagnostics.cxx b/build2/diagnostics.cxx index b1f2796..f04751c 100644 --- a/build2/diagnostics.cxx +++ b/build2/diagnostics.cxx @@ -40,7 +40,7 @@ namespace build2 #else __thread #endif - const diag_frame* diag_frame::stack; + const diag_frame* diag_frame::stack = nullptr; // Diagnostic facility, project specifics. // diff --git a/build2/test/script/parser.cxx b/build2/test/script/parser.cxx index 19bcb5c..d1e2816 100644 --- a/build2/test/script/parser.cxx +++ b/build2/test/script/parser.cxx @@ -3016,6 +3016,7 @@ namespace build2 // If the scope was executed synchronously, check the status // and bail out if we weren't asked to keep going. // + const diag_frame* df (diag_frame::stack); // UBSan workaround. if (!sched.async (task_count, [] (scope& s, script& scr, @@ -3028,7 +3029,7 @@ namespace build2 ref (*chain), ref (*script_), ref (*runner_), - diag_frame::stack)) + df)) { // Bail out if the scope has failed and we weren't instructed // to keep going. |