gccrs: lang-items: Register va_list
Registers the `va_list` language item in gccrs.
This commit registers the va_list language item within the gccrs compiler. This involves adding a corresponding enum value for VaListImpl in the header file and registering it in the compiler’s language item management system. This is a necessary step for gccrs to correctly handle C’s variadic function arguments (...) when interacting with C code or when implementing similar features.
In Details
The util/rust-lang-item.h is updated to add a new enum variant VaListImpl to the Kind enum. Correspondingly, util/rust-lang-item.cc is modified to register this new language item. This integration allows gccrs to correctly recognize and process the va_list type, which is fundamental for handling variadic functions inherited from C, ensuring compatibility and correct type representation within the compiler's internal structures.
- language item
- Special intrinsic items recognized by the Rust compiler that represent fundamental language concepts, such as primitive types, traits (
Send,Sync), and built-in functions. They are essential for the compiler's internal operations and type system. - va_list
- A type defined in the C standard library (
<stdarg.h>) used to access a variable number of arguments passed to a function. It's part of the mechanism for handling variadic functions. - variadic function
- A function that can accept an arbitrary number of arguments. In C and C++, this is often indicated by an ellipsis (
...) in the function signature. - gccrs
- The Rust front-end for the GNU Compiler Collection (GCC), aiming to compile Rust code using GCC's infrastructure.