https://gcc.gnu.org/g:9467435253948b83fcb5f7430f6cd571236960d8

commit r16-3165-g9467435253948b83fcb5f7430f6cd571236960d8
Author: mengqinggang <mengqingg...@loongson.cn>
Date:   Fri Aug 8 16:22:59 2025 +0800

    LoongArch: macro instead enum for base abi type
    
    enum can't be used in #if.
    For #if expression, identifiers that are not macros,
    which are all considered to be the number zero.
    
    This patch may fix https://sourceware.org/bugzilla/show_bug.cgi?id=32776.
    
    gcc/ChangeLog:
    
            * config/loongarch/loongarch-def.h (ABI_BASE_LP64D): New macro.
            (ABI_BASE_LP64F): New macro.
            (ABI_BASE_LP64S): New macro.
            (N_ABI_BASE_TYPES): New macro.

Diff:
---
 gcc/config/loongarch/loongarch-def.h | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gcc/config/loongarch/loongarch-def.h 
b/gcc/config/loongarch/loongarch-def.h
index 0bcd2a70121b..0a7d0c923fef 100644
--- a/gcc/config/loongarch/loongarch-def.h
+++ b/gcc/config/loongarch/loongarch-def.h
@@ -78,12 +78,10 @@ extern loongarch_def_array<const char *, N_ISA_EXT_TYPES>
 
 
 /* Base ABI */
-enum {
-  ABI_BASE_LP64D       = 0,
-  ABI_BASE_LP64F       = 1,
-  ABI_BASE_LP64S       = 2,
-  N_ABI_BASE_TYPES     = 3
-};
+#define ABI_BASE_LP64D   0
+#define ABI_BASE_LP64F   1
+#define ABI_BASE_LP64S   2
+#define N_ABI_BASE_TYPES  3
 
 extern loongarch_def_array<const char *, N_ABI_BASE_TYPES>
   loongarch_abi_base_strings;

Reply via email to