This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] sim: tweak signed to unsigned local vars


> diff --git a/sim/common/dv-sockser.c b/sim/common/dv-sockser.c
> index 643ce34..18987f9 100644
> --- a/sim/common/dv-sockser.c
> +++ b/sim/common/dv-sockser.c
> @@ -129,7 +129,8 @@ dv_sockser_init (SIM_DESC sd)
>    struct sockaddr_in sockaddr;
>    char hostname[100];
>    const char *port_str;
> -  int tmp,port;
> +  unsigned tmp;
> +  int port;

I'm not sure I agree on this one. "tmp" is used to store the result of
a subtraction of 2 pointers. IIRC, the exact type returned is ptrdiff_t,
which is a signed value...

>  hw_port_encode (struct hw *me,
>  		int port_number,
>  		char *buf,
> -		int sizeof_buf,
> +		unsigned sizeof_buf,
>  		port_direction direction)

Would type size_t work, in this case?

> - int sizeof_buf,
> + unsigned sizeof_buf,

Same here?

> @@ -583,7 +583,7 @@ hw_add_range_array_property (struct hw *me,
>  			   * sizeof (unsigned_cell));
>    unsigned_cell *cells = hw_zalloc (me, sizeof_cells);
>    unsigned_cell *cell;
> -  int i;
> +  unsigned i;

I am not sure about this one either. Can you try changing the type
of parameter nr_ranges to int? It looks like the only usage of this
function is in hw-tree, and the variable used is actually an int...

> @@ -676,7 +676,7 @@ hw_add_reg_array_property (struct hw *me,
>  			   * sizeof (unsigned_cell));
>    unsigned_cell *cells = hw_zalloc (me, sizeof_cells);
>    unsigned_cell *cell;
> -  int i;
> +  unsigned i;

Same here.

> @@ -776,8 +776,8 @@ hw_add_string_array_property (struct hw *me,
>  			      const string_property_spec *strings,
>  			      unsigned nr_strings)

Same for nr_strings.

> -  int sizeof_array;
> -  int string_nr;
> +  unsigned sizeof_array;
> +  unsigned string_nr;

Once nr_strings is changed to int, we should no longer need to change
string_nr to unsigned.

Would type size_t for sizeof_array work in your case?  It seems that
the use of int or unsigned is a little random for this type of argument
(check the use of the hw_add_property function, sometimes we pass an int,
sometimes we pass an unsigned).

> @@ -840,7 +840,7 @@ hw_find_string_array_property (struct hw *me,
>        ASSERT (((char*)node->array)[node->sizeof_array - 1] == '\0');
>        {
>  	const char *chp = node->array;
> -	int nr_entries = 0;
> +	unsigned nr_entries = 0;

Same as above.

> @@ -1115,7 +1115,7 @@ print_properties (struct hw *me,
>  		if ((property->sizeof_array % sizeof (signed_cell)) == 0)
>  		  {
>  		    unsigned_cell *w = (unsigned_cell*) property->array;
> -		    int cell_nr;
> +		    unsigned cell_nr;

Use size_t?

-- 
Joel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]