qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] disas/microblaze: Add missing 'const' attribute


From: Edgar E. Iglesias
Subject: Re: [Qemu-devel] [PATCH] disas/microblaze: Add missing 'const' attributes
Date: Wed, 6 Apr 2016 11:16:19 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, Mar 22, 2016 at 08:31:33AM +0100, Stefan Weil wrote:
> Making the opcode list 'const' saves memory.
> Some function arguments and local variables needed 'const', too.
> 
> Add also 'static' to two local functions.

Hi Stefan,

Sorry for the delays...

I gave this a try but it fails for me:

/home/edgar/src/c/qemu/qemu/disas/microblaze.c:668:1: error: conflicting types 
for ‘get_field_special’
 get_field_special(long instr, const struct op_code_struct *op)
 ^
/home/edgar/src/c/qemu/qemu/disas/microblaze.c:599:8: note: previous 
declaration of ‘get_field_special’ was here
 char * get_field_special (long instr, struct op_code_struct * op);
        ^
/home/edgar/src/c/qemu/qemu/disas/microblaze.c:733:1: error: conflicting types 
for ‘read_insn_microblaze’
 read_insn_microblaze (bfd_vma memaddr, 
 ^
/home/edgar/src/c/qemu/qemu/disas/microblaze.c:600:15: note: previous 
declaration of ‘read_insn_microblaze’ was here
 unsigned long read_insn_microblaze (bfd_vma memaddr, 
               ^
make: *** [disas/microblaze.o] Error 1
make: *** Waiting for unfinished jobs....


It looks like if you may have forgotten to update or remove the function 
prototypes...

Best regards,
Edgar



> 
> Signed-off-by: Stefan Weil <address@hidden>
> ---
>  disas/microblaze.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/disas/microblaze.c b/disas/microblaze.c
> index 91b30ac..780b388 100644
> --- a/disas/microblaze.c
> +++ b/disas/microblaze.c
> @@ -272,7 +272,7 @@ enum microblaze_instr_type {
>  
>  #define MAX_OPCODES 280
>  
> -static struct op_code_struct {
> +static const struct op_code_struct {
>    const char *name;
>    short inst_type; /* registers and immediate values involved */
>    short inst_offset_type; /* immediate vals offset from PC? (= 1 for 
> branches) */
> @@ -664,8 +664,8 @@ get_field_unsigned_imm (long instr)
>    }
>  */
>  
> -char *
> -get_field_special (long instr, struct op_code_struct * op)
> +static char *
> +get_field_special(long instr, const struct op_code_struct *op)
>  {
>     char tmpstr[25];
>     char spr[6];
> @@ -729,14 +729,14 @@ get_field_special (long instr, struct op_code_struct * 
> op)
>     return(strdup(tmpstr));
>  }
>  
> -unsigned long
> +static unsigned long
>  read_insn_microblaze (bfd_vma memaddr, 
>                     struct disassemble_info *info,
> -                   struct op_code_struct **opr)
> +                   const struct op_code_struct **opr)
>  {
>    unsigned char       ibytes[4];
>    int                 status;
> -  struct op_code_struct * op;
> +  const struct op_code_struct *op;
>    unsigned long inst;
>  
>    status = info->read_memory_func (memaddr, ibytes, 4, info);
> @@ -770,7 +770,7 @@ print_insn_microblaze (bfd_vma memaddr, struct 
> disassemble_info * info)
>    fprintf_function    fprintf_func = info->fprintf_func;
>    void *              stream = info->stream;
>    unsigned long       inst, prev_inst;
> -  struct op_code_struct * op, *pop;
> +  const struct op_code_struct *op, *pop;
>    int                 immval = 0;
>    bfd_boolean         immfound = FALSE;
>    static bfd_vma prev_insn_addr = -1; /*init the prev insn addr */
> -- 
> 2.1.4
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]