Просмотр исходного кода

Suppress the warnings when building with GCC11 (#1622)

Add pragma to ignore "-Waddress-of-packed-member"
Adds `void` parameter to the prototype of some functions to make them
have strict declarations
casaroli 3 лет назад
Родитель
Сommit
4c61bfd10d

+ 13 - 0
core/iwasm/aot/arch/aot_reloc_xtensa.c

@@ -263,10 +263,23 @@ apply_relocation(AOTModule *module, uint8 *target_section_addr,
             imm16 = (int16)(relative_offset >> 2);
 
             /* write back the imm16 to the l32r instruction */
+
+            /* GCC >= 9 complains if we have a pointer that could be
+             * unaligned. This can happen because the struct is packed.
+             * These pragma are to suppress the warnings because the
+             * function put_imm16_to_addr already handles unaligned
+             * pointers correctly. */
+#if __GNUC__ >= 9
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
+#endif
             if (is_little_endian())
                 put_imm16_to_addr(imm16, &l32r_insn->l.imm16);
             else
                 put_imm16_to_addr(imm16, &l32r_insn->b.imm16);
+#if __GNUC__ >= 9
+#pragma GCC diagnostic pop
+#endif
 
             break;
         }

+ 3 - 3
core/shared/platform/include/platform_api_extension.h

@@ -99,19 +99,19 @@ os_thread_exit(void *retval);
  * @return 0 if success, -1 otherwise
  */
 int
-os_thread_env_init();
+os_thread_env_init(void);
 
 /**
  * Destroy current thread environment
  */
 void
-os_thread_env_destroy();
+os_thread_env_destroy(void);
 
 /**
  * Whether the thread environment is initialized
  */
 bool
-os_thread_env_inited();
+os_thread_env_inited(void);
 
 /**
  * Suspend execution of the calling thread for (at least)

+ 1 - 1
core/shared/utils/bh_hashmap.h

@@ -141,7 +141,7 @@ bh_hash_map_get_struct_size(HashMap *hashmap);
  * @return the memory space occupied by HashMapElem structure
  */
 uint32
-bh_hash_map_get_elem_struct_size();
+bh_hash_map_get_elem_struct_size(void);
 
 /**
  * Traverse the hash map and call the callback function

+ 1 - 1
core/shared/utils/bh_queue.h

@@ -40,7 +40,7 @@ typedef void (*bh_queue_handle_msg_callback)(void *message, void *arg);
 typedef void (*bh_msg_cleaner)(void *msg);
 
 bh_queue *
-bh_queue_create();
+bh_queue_create(void);
 
 void
 bh_queue_destroy(bh_queue *queue);

+ 1 - 1
core/shared/utils/runtime_timer.h

@@ -13,7 +13,7 @@ extern "C" {
 #endif
 
 uint64
-bh_get_tick_ms();
+bh_get_tick_ms(void);
 uint32
 bh_get_elpased_ms(uint32 *last_system_clock);