gccrs: Test libcore compilation until HIR lowering
gccrs test suite now compiles libcore up to the HIR lowering stage, increasing test duration.
The gccrs test suite has been updated to compile Rust’s libcore up to the High-Level Intermediate Representation (HIR) lowering phase. This change, while increasing test execution time by approximately four minutes on a local machine and ten minutes on CI runners, is necessary to ensure libcore compiles successfully. The test suite’s timeout has also been extended to accommodate the longer compilation duration.
In Details
To improve the robustness of gccrs's integration with the Rust ecosystem, this commit modifies the test suite's core.exp script. It now configures the Rust compiler to perform compilation of libcore all the way through the HIR lowering stage, rather than stopping earlier. This is a more comprehensive test of the compiler's front-end and middle-end passes. To manage the increased compilation time, debug logging has been reduced, and the test timeout has been extended from 600 to 1200 seconds.
- libcore
- A minimal, unstable Rust standard library that provides fundamental types and traits, independent of the operating system or allocator. It's a core dependency for many Rust projects.
- HIR lowering
- The process in
gccrsof transforming the Abstract Syntax Tree (AST) into a High-Level Intermediate Representation (HIR). This stage typically simplifies code structure and prepares it for further optimization and code generation. - test suite
- A collection of tests designed to verify the correctness and functionality of a software project. In this case, it tests
gccrs's ability to compile Rust code. - CI runners
- Continuous Integration runners. These are machines that automatically build and test software whenever changes are committed to a repository.