commit | 3d56a22775f4dfd949a574f929440e9bd2e54f7f | [log] [tgz] |
---|---|---|
author | Dani Ferreira Franco Moura <danimoura@google.com> | Tue Nov 29 03:12:55 2022 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Nov 29 03:13:30 2022 -0800 |
tree | e5dbebaf7d5260f7ac2e94399d452d6570577cb1 | |
parent | a90de3d6ffe10d291d7d3fe844a20889472204bd [diff] |
Create pointer nullability lattice. We hope to make use of the Clang Dataflow Analysis framework to propagate nullability annotations (for example, on assignment of template-instantiated values). For this, we will alter the lattice used in pointer nullability analysis to contain maps from expressions and variable declarations to nullability annotations. This change introduces a custom lattice to the pointer nullability analysis. This lattice is still undistinguishable from a NoopLattice (we will add more functionality on a subsequent change). PiperOrigin-RevId: 491586319
Extremely experimental interop tooling for C++ and Rust.
Please don‘t use, this is an experiment and we don’t yet know where will it take us. There will be breaking changes without warning. Unfortunately, we can't take contributions at this point.
$ apt install clang lld bazel $ git clone git@github.com:google/crubit.git $ cd crubit $ bazel build --linkopt=-fuse-ld=/usr/bin/ld.lld //rs_bindings_from_cc:rs_bindings_from_cc_impl
$ git clone https://github.com/llvm/llvm-project $ cd llvm-project $ CC=clang CXX=clang++ cmake -S llvm -B build -DLLVM_ENABLE_PROJECTS='clang' -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install $ cmake --build build -j $ # wait... $ cmake --install build $ cd ../crubit $ LLVM_INSTALL_PATH=../llvm-project/install bazel build //rs_bindings_from_cc:rs_bindings_from_cc_impl