I am surprised that such generic names are defined within the system
header files, I inclined just rename that to major_version,
minor_version, could you send a patch for that?


On Fri, May 16, 2025 at 3:50 PM Songhe Zhu <zhuson...@eswincomputing.com> wrote:
>
> Hi kito
>     When syncing GCC to the master branch and building it on Ubuntu 18.04, I 
> encounter the following warnings and errors:
> 
> These issues arise because the values major and minor conflict with the 
> macros major/minor defined in <sys/sysmacros.h>. To avoid compatibility 
> problems when using a newer version of GCC on older Ubuntu environment, we 
> propose three solutions:
> 1. Undefine the macros temporarily::
>
> #pragma push_macro("major")
> #undef major
> #pragma push_macro("minor")
> #undef minor
> /* ... function code ... */
> #pragma pop_macro("major")
> #pragma pop_macro("minor")
>
> 2. Rename major/minor to non-conflicting names ?
>
> 3. Build in a newer Ubuntu environment (e.g., Ubuntu 22.04) to bypass legacy 
> macro conflicts.
>     --We will try it.
>
> refernece patch: RISC-V: Generate extension table in documentation from 
> riscv-ext.def · gcc-mirror/gcc@124cbbb
>
> Thanks a lot~
>
> ________________________________
> zhuson...@eswincomputing.com

Reply via email to