:: commit e1cfd61adaececd86867369b8ec14ea52890a1df

mintsuki <mintsuki@protonmail.com> — 2022-08-27 10:49

parents: 530517f254

stivale2: Update macro local variables

diff --git a/common/protos/stivale2.c b/common/protos/stivale2.c
index e92009fb..b6511c39 100644
--- a/common/protos/stivale2.c
+++ b/common/protos/stivale2.c
@@ -35,39 +35,44 @@
     direct_map_offset : 0))
 
 #define get_phys_addr(addr) ({ \
-    uintptr_t r1; \
-    if ((addr) & ((uint64_t)1 << 63)) { \
+    __auto_type get_phys_addr__addr = (addr); \
+    uintptr_t get_phys_addr__r; \
+    if (get_phys_addr__addr & ((uint64_t)1 << 63)) { \
         if (want_fully_virtual) { \
-            r1 = physical_base + ((addr) - virtual_base); \
+            get_phys_addr__r = physical_base + (get_phys_addr__addr - virtual_base); \
         } else { \
-            r1 = (addr) - FIXED_HIGHER_HALF_OFFSET_64; \
+            get_phys_addr__r = get_phys_addr__addr - FIXED_HIGHER_HALF_OFFSET_64; \
         } \
     } else { \
-        r1 = addr; \
+        get_phys_addr__r = get_phys_addr__addr; \
     } \
-    r1; \
+    get_phys_addr__r; \
 })
 
 #define get_tag(s, id) ({ \
-    void *r; \
-    struct stivale2_tag *tag = (void *)get_phys_addr((s)->tags); \
+    __auto_type get_tag__s = (s); \
+    __auto_type get_tag__id = (uint64_t)(id); \
+    void *get_tag__r; \
+    struct stivale2_tag *get_tag__tag = (void *)get_phys_addr(get_tag__s->tags); \
     for (;;) { \
-        if (tag == NULL) { \
-            r = NULL; \
+        if (get_tag__tag == NULL) { \
+            get_tag__r = NULL; \
             break; \
         } \
-        if (tag->identifier == (id)) { \
-            r = tag; \
+        if (get_tag__tag->identifier == get_tag__id) { \
+            get_tag__r = get_tag__tag; \
             break; \
         } \
-        tag = (void *)get_phys_addr(tag->next); \
+        get_tag__tag = (void *)get_phys_addr(get_tag__tag->next); \
     } \
-    r; \
+    get_tag__r; \
 })
 
-#define append_tag(S, TAG) do {                            \
-    (TAG)->next = (S)->tags;                               \
-    (S)->tags   = REPORTED_ADDR((uint64_t)(uintptr_t)TAG); \
+#define append_tag(S, TAG) do {                                                  \
+    __auto_type append_tag__S = (S);                                             \
+    __auto_type append_tag__TAG = (TAG);                                         \
+    append_tag__TAG->next = append_tag__S->tags;                                 \
+    append_tag__S->tags   = REPORTED_ADDR((uint64_t)(uintptr_t)append_tag__TAG); \
 } while (0)
 
 #if defined (__i386__)
tab: 248 wrap: offon