This is the mail archive of the gdb-patches@sources.redhat.com 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: Fix PR gdb/265, 64-bit pointers in Java


On Mon, Feb 11, 2002 at 12:38:18AM -0500, Daniel Jacobowitz wrote:
> I don't know if Java allows the implicit 0x123456789 -> 0x123456789L
> conversion that we all know and love in C, but it certainly behooves us to
> act that way on the command line.  Per, does this patch look OK?

Per never answered me, and I satisfied Tom's objections.  I'm committing
this as reasonably obvious, in my quest to shrink the number of "I
should look at this" PRs in my mailbox.

> 
> -- 
> Daniel Jacobowitz                           Carnegie Mellon University
> MontaVista Software                         Debian GNU/Linux Developer
> 
> 2002-02-11  Daniel Jacobowitz  <drow@mvista.com>
> 
> 	Fix PR gdb/265
> 	* jv-exp.y (parse_number): Handle 64-bit integers.
> 
> Index: jv-exp.y
> ===================================================================
> RCS file: /cvs/src/src/gdb/jv-exp.y,v
> retrieving revision 1.3
> diff -u -p -r1.3 jv-exp.y
> --- jv-exp.y	2001/03/06 08:21:09	1.3
> +++ jv-exp.y	2002/02/11 05:32:18
> @@ -764,13 +764,13 @@ parse_number (p, len, parsed_float, puti
>        }
>  
>    c = p[len-1];
> +  /* A paranoid calculation of (1<<64)-1. */
>    limit = (ULONGEST)0xffffffff;
> +  limit = ((limit << 16) << 16) | limit;
>    if (c == 'l' || c == 'L')
>      {
>        type = java_long_type;
>        len--;
> -      /* A paranoid calculation of (1<<64)-1. */
> -      limit = ((limit << 16) << 16) | limit;
>      }
>    else
>      {
> @@ -797,9 +797,13 @@ parse_number (p, len, parsed_float, puti
>        n += c;
>  	}
>  
> -   putithere->typed_val_int.val = n;
> -   putithere->typed_val_int.type = type;
> -   return INTEGER_LITERAL;
> +  if (type == java_int_type && n > (ULONGEST)0xffffffff)
> +    type = java_long_type;
> +
> +  putithere->typed_val_int.val = n;
> +  putithere->typed_val_int.type = type;
> +
> +  return INTEGER_LITERAL;
>  }
>  
>  struct token
> 

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


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