Merge common attribute handling code between libgccjit and c-family.
Attribute handling logic is now centralized in a new file, improving code reuse between libgccjit and c-family.
GCC now centralizes common attribute handling logic into a new file, attr-handlers.cc. This change moves functions previously duplicated in both libgccjit and c-family compilers to a shared location. This consolidation aims to reduce code duplication and improve maintainability across different parts of the compiler infrastructure.
In Details
The commit centralizes attribute parsing and validation logic, moving it from gcc/c-family/c-attribs.cc and gcc/jit/dummy-frontend.cc into a new file, gcc/attr-handlers.cc. This refactoring impacts how attributes like noinline, always_inline, leaf, const, used, visibility, and others are processed, ensuring a consistent implementation across the main C-family front-end and the libgccjit JIT compiler. The goal is to eliminate redundant code and simplify future attribute-related changes.