Edit project plan to not abuse environment variable CCC_OVERRIDE_OPTIONS is not intended for this purpose, so we should use another approach.
diff --git a/OpenProjects.html b/OpenProjects.html index 464cf5b..2e9f30f 100755 --- a/OpenProjects.html +++ b/OpenProjects.html
@@ -1242,7 +1242,7 @@ <ol> <li>Adding an option to llvm-lit to emit the necessary test coverage data, divided per test case (involves setting a unique value to <a href="https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#running-the-instrumented-program"><code>LLVM_PROFILE_FILE</code></a> for each RUN) <li>New tool to process the generated coverage data and the relevant git patch, and present the results in a user friendly manner - <li>Adding a way to non-intrusively (without changing build configurations) enable coverage instrumentation to a build. By building the project normally, touching the files changed by the patch, and rebuilding with <a href="https://github.com/llvm/llvm-project/blob/93a1fc2e18b452216be70f534da42f7702adbe1d/clang/tools/driver/driver.cpp#L79-L105"><code>CCC_OVERRIDE_OPTIONS</code></a> set to <a href="https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#compiling-with-coverage-enabled">add coverage</a> we can lower the overhead of generating and processing coverage of lines not relevant to the patch. + <li>Adding a way to non-intrusively (without changing build configurations) enable coverage instrumentation to a build, e.g. by adding an environment variable for forcibly enabling coverage, either directly in the Clang driver or in a wrapper script to set as CXX and passing on flags to Clang. By building the project normally, touching the files changed by the patch, and rebuilding with this new environment variable set to <a href="https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#compiling-with-coverage-enabled">add coverage</a> we can lower the overhead of generating and processing coverage of lines not relevant to the patch. </ol> The tooling in step 2 and 3 can be made completely agnostic of the actual test-runner, lowering the threshold for other test harnesses than Lit to implement the same functionality.