On x86_64 with GCC 12.2.0, the following command runs forever, slowly allocating more and more memory:
cc -I src -Wall -o parser.o -c src/parser.c
Since the cc crate for Rust adds -Wall and -Wextra by default when compiling C code using GCC, this means that cargo build also won't finish.
This is probably a bug in GCC, but as a workaround it can be avoided by explicitly disabling -Wall and -Wextra in bindings/rust/build.rs using warnings(false) and extra_warnings(false).
Bindings for other languages that also compile the C code using GCC and enable -Wall or -Wextra are probably affected in the same way.
On x86_64 with GCC 12.2.0, the following command runs forever, slowly allocating more and more memory:
Since the cc crate for Rust adds -Wall and -Wextra by default when compiling C code using GCC, this means that
cargo buildalso won't finish.This is probably a bug in GCC, but as a workaround it can be avoided by explicitly disabling -Wall and -Wextra in
bindings/rust/build.rsusingwarnings(false)andextra_warnings(false).Bindings for other languages that also compile the C code using GCC and enable -Wall or -Wextra are probably affected in the same way.