commit | b4beb39c75a3efb909d2e7c54d7a8751ffe5af88 | [log] [tgz] |
---|---|---|
author | Lukasz Anforowicz <lukasza@google.com> | Thu Dec 01 16:49:11 2022 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Dec 01 16:49:50 2022 -0800 |
tree | d303694a54f0f4b8db58417319d04379bd8129cd | |
parent | 624580b5f155d4c64ed83dd2991b071d2b0e82b8 [diff] |
Fix hardcoded thunk names in tests (broken by recent RustC roll). Today rust symbols depend on rustc version so even though `SymbolManglingVersion::V0` (used in unit tests) guarantees ["consistent results across compilations"][] it doesn't guarantee stable across different compiler versions :-( The fix a bit hasty and haphazardous to make the CI green again: - Maybe the unit tests should do _some_ verification instead of just using `...` in `assert_cc_matches`? - The `cc_bindings_from_rs.rs` changes just kick the can down the road. The changes will be green for now but will likely get broken by the next RustC roll. I am experimenting with regex-based checks in a separate CL which needs a bit more time to complete. PiperOrigin-RevId: 492333432
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