tcg: Fix prototypes for tcg_out_vec_op and tcg_out_op
There are two different versions of prototype for tcg_out_op and tcg_out_vec_op functions: 1) using const TCGArg *args and const int *const_args arguments 2) using const TCGArg args[TCG_MAX_OP_ARGS] and const int const_args[TCG_MAX_OP_ARGS] aguments. This duality causes warnings on GCC 11 and prevents build using --enable-werror. As second version provides more information, unify functions prototypes to this variant. Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com> Message-Id: <20210312121418.139093-1-mrezanin@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
		
				
					committed by
					
						 Richard Henderson
						Richard Henderson
					
				
			
			
				
	
			
			
			
						parent
						
							98f9b467b0
						
					
				
				
					commit
					5e8892db93
				
			| @@ -2286,7 +2286,8 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, | ||||
| 
 | ||||
| static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, | ||||
|                            unsigned vecl, unsigned vece, | ||||
|                            const TCGArg *args, const int *const_args) | ||||
|                            const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                            const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     static const AArch64Insn cmp_vec_insn[16] = { | ||||
|         [TCG_COND_EQ] = I3616_CMEQ, | ||||
|   | ||||
| @@ -2177,7 +2177,8 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is64) | ||||
| } | ||||
| 
 | ||||
| static inline void tcg_out_op(TCGContext *s, TCGOpcode opc, | ||||
|                               const TCGArg *args, const int *const_args) | ||||
|                               const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                               const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     TCGArg a0, a1, a2; | ||||
|     int c, const_a2, vexop, rexw = 0; | ||||
| @@ -2613,7 +2614,8 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode opc, | ||||
| 
 | ||||
| static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, | ||||
|                            unsigned vecl, unsigned vece, | ||||
|                            const TCGArg *args, const int *const_args) | ||||
|                            const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                            const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     static int const add_insn[4] = { | ||||
|         OPC_PADDB, OPC_PADDW, OPC_PADDD, OPC_PADDQ | ||||
|   | ||||
| @@ -1651,7 +1651,8 @@ static void tcg_out_clz(TCGContext *s, MIPSInsn opcv2, MIPSInsn opcv6, | ||||
| } | ||||
| 
 | ||||
| static inline void tcg_out_op(TCGContext *s, TCGOpcode opc, | ||||
|                               const TCGArg *args, const int *const_args) | ||||
|                               const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                               const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     MIPSInsn i1, i2; | ||||
|     TCGArg a0, a1, a2; | ||||
|   | ||||
| @@ -2319,8 +2319,9 @@ static void tcg_target_qemu_prologue(TCGContext *s) | ||||
|     tcg_out32(s, BCLR | BO_ALWAYS); | ||||
| } | ||||
| 
 | ||||
| static void tcg_out_op(TCGContext *s, TCGOpcode opc, const TCGArg *args, | ||||
|                        const int *const_args) | ||||
| static void tcg_out_op(TCGContext *s, TCGOpcode opc, | ||||
|                        const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                        const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     TCGArg a0, a1, a2; | ||||
|     int c; | ||||
| @@ -3115,7 +3116,8 @@ static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece, | ||||
| 
 | ||||
| static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, | ||||
|                            unsigned vecl, unsigned vece, | ||||
|                            const TCGArg *args, const int *const_args) | ||||
|                            const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                            const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     static const uint32_t | ||||
|         add_op[4] = { VADDUBM, VADDUHM, VADDUWM, VADDUDM }, | ||||
|   | ||||
| @@ -1212,7 +1212,8 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64) | ||||
| static const tcg_insn_unit *tb_ret_addr; | ||||
| 
 | ||||
| static void tcg_out_op(TCGContext *s, TCGOpcode opc, | ||||
|                        const TCGArg *args, const int *const_args) | ||||
|                        const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                        const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     TCGArg a0 = args[0]; | ||||
|     TCGArg a1 = args[1]; | ||||
|   | ||||
| @@ -1705,7 +1705,8 @@ static void tcg_out_qemu_st(TCGContext* s, TCGReg data_reg, TCGReg addr_reg, | ||||
|         case glue(glue(INDEX_op_,x),_i64) | ||||
| 
 | ||||
| static inline void tcg_out_op(TCGContext *s, TCGOpcode opc, | ||||
|                 const TCGArg *args, const int *const_args) | ||||
|                               const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                               const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     S390Opcode op, op2; | ||||
|     TCGArg a0, a1, a2; | ||||
|   | ||||
							
								
								
									
										19
									
								
								tcg/tcg.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								tcg/tcg.c
									
									
									
									
									
								
							| @@ -107,8 +107,9 @@ static void tcg_out_ld(TCGContext *s, TCGType type, TCGReg ret, TCGReg arg1, | ||||
| static bool tcg_out_mov(TCGContext *s, TCGType type, TCGReg ret, TCGReg arg); | ||||
| static void tcg_out_movi(TCGContext *s, TCGType type, | ||||
|                          TCGReg ret, tcg_target_long arg); | ||||
| static void tcg_out_op(TCGContext *s, TCGOpcode opc, const TCGArg *args, | ||||
|                        const int *const_args); | ||||
| static void tcg_out_op(TCGContext *s, TCGOpcode opc, | ||||
|                        const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                        const int const_args[TCG_MAX_OP_ARGS]); | ||||
| #if TCG_TARGET_MAYBE_vec | ||||
| static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece, | ||||
|                             TCGReg dst, TCGReg src); | ||||
| @@ -116,9 +117,10 @@ static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece, | ||||
|                              TCGReg dst, TCGReg base, intptr_t offset); | ||||
| static void tcg_out_dupi_vec(TCGContext *s, TCGType type, unsigned vece, | ||||
|                              TCGReg dst, int64_t arg); | ||||
| static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl, | ||||
|                            unsigned vece, const TCGArg *args, | ||||
|                            const int *const_args); | ||||
| static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, | ||||
|                            unsigned vecl, unsigned vece, | ||||
|                            const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                            const int const_args[TCG_MAX_OP_ARGS]); | ||||
| #else | ||||
| static inline bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece, | ||||
|                                    TCGReg dst, TCGReg src) | ||||
| @@ -135,9 +137,10 @@ static inline void tcg_out_dupi_vec(TCGContext *s, TCGType type, unsigned vece, | ||||
| { | ||||
|     g_assert_not_reached(); | ||||
| } | ||||
| static inline void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl, | ||||
|                                   unsigned vece, const TCGArg *args, | ||||
|                                   const int *const_args) | ||||
| static inline void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, | ||||
|                                   unsigned vecl, unsigned vece, | ||||
|                                   const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                                   const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     g_assert_not_reached(); | ||||
| } | ||||
|   | ||||
| @@ -613,8 +613,9 @@ static inline void tcg_out_call(TCGContext *s, const tcg_insn_unit *arg) | ||||
| # define CASE_64(x)
 | ||||
| #endif
 | ||||
| 
 | ||||
| static void tcg_out_op(TCGContext *s, TCGOpcode opc, const TCGArg *args, | ||||
|                        const int *const_args) | ||||
| static void tcg_out_op(TCGContext *s, TCGOpcode opc, | ||||
|                        const TCGArg args[TCG_MAX_OP_ARGS], | ||||
|                        const int const_args[TCG_MAX_OP_ARGS]) | ||||
| { | ||||
|     switch (opc) { | ||||
|     case INDEX_op_exit_tb: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user