If you are going that way, Rust's reference compiler is dependent on LLVM, fully written in C++, and the C++ semantics of bitcode have broken Rust's code generation multiple times, forcing regressions and newer compiler releases with desactivated optimization features.
Also plenty of crates are bindings to C and C++ libraries with nice unsafe blocks.
Then was that Axium drama.