commit | 3debd30560954e3ce8ff4186e413d0a54e6fb064 | [log] [tgz] |
---|---|---|
author | jmmv <jmmv@google.com> | Thu Feb 21 04:03:51 2019 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Feb 21 04:05:21 2019 -0800 |
tree | 1f27526b3dbb6b45cbafdb5efcf91efc54a782c0 | |
parent | 2bf8906a3951f046c632cb777d7b40261f2324cc [diff] |
Clean up args conversion to an argv array. This introduces a new CharPP class that implements the conversion of C++ data structures to their corresponding char** representation needed for execv-like calls. As a side-effect of this change, we fix two issues: first, a memory leak; and second, a theoretical const-correctness violation. I am doing this change to provide room for implementing a similar conversion function for envp arrays, which I will need to switch to using posix_spawn. Prerequisite cleanup to address https://github.com/bazelbuild/bazel/issues/7446. While this does fix an issue with a memory leak, this change should have no visible effects. RELNOTES: None. PiperOrigin-RevId: 234968622
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel only rebuilds what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md
Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.