From: zhusonghe <zhuson...@eswincomputing.com> The variables `major` and `minor` in `gen-riscv-ext-texi.cc` conflict with the macros of the same name defined in `<sys/sysmacros.h>`, which are exposed when building with newer versions of GCC on older Linux distributions (e.g., Ubuntu 18.04). To resolve this, we rename them to `major_version` and `minor_version` respectively. This aligns with the GCC community's recommended practice [1] and improves code clarity.
[1] https://gcc.gnu.org/pipermail/gcc-patches/2025-May/683881.html gcc/ChangeLog: * config/riscv/gen-riscv-ext-texi.cc (struct version_t):rename major/minor to major_version/minor_version. Signed-off-by: Songhe Zhu <zhuson...@eswincomputing.com> --- gcc/config/riscv/gen-riscv-ext-texi.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/config/riscv/gen-riscv-ext-texi.cc b/gcc/config/riscv/gen-riscv-ext-texi.cc index e15fdbf36f6..6fec179e6c5 100644 --- a/gcc/config/riscv/gen-riscv-ext-texi.cc +++ b/gcc/config/riscv/gen-riscv-ext-texi.cc @@ -6,22 +6,22 @@ struct version_t { - int major; - int minor; + int major_version; + int minor_version; version_t (int major, int minor, enum riscv_isa_spec_class spec = ISA_SPEC_CLASS_NONE) - : major (major), minor (minor) + : major_version (major), minor_version (minor) {} bool operator<(const version_t &other) const { - if (major != other.major) - return major < other.major; - return minor < other.minor; + if (major_version != other.major_version) + return major_version < other.major_version; + return minor_version < other.minor_version; } bool operator== (const version_t &other) const { - return major == other.major && minor == other.minor; + return major_version == other.major_version && minor_version == other.minor_version; } }; -- 2.17.1