]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
LoongArch: macro instead enum for base abi type
authormengqinggang <mengqinggang@loongson.cn>
Fri, 8 Aug 2025 08:22:59 +0000 (16:22 +0800)
committerLulu Cheng <chenglulu@loongson.cn>
Tue, 12 Aug 2025 11:33:43 +0000 (19:33 +0800)
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.

(cherry picked from commit 9467435253948b83fcb5f7430f6cd571236960d8)

gcc/config/loongarch/loongarch-def.h

index 0bcd2a70121bbf06d4387b0b89ec99cd89f16dd0..0a7d0c923fefdcefabe86a872ae02dcc1eef43f2 100644 (file)
@@ -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;