mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-18 10:49:41 +08:00
gjavah.c (print_field_info): Changed how most negative number is printed.
* gjavah.c (print_field_info): Changed how most negative number is printed. From-SVN: r24323
This commit is contained in:
parent
68b048138c
commit
06d84d6935
@ -1,3 +1,8 @@
|
||||
1998-12-15 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* gjavah.c (print_field_info): Changed how most negative number is
|
||||
printed.
|
||||
|
||||
Mon Dec 14 18:49:29 1998 Per Bothner <bothner@cygnus.com>
|
||||
|
||||
* parse.y (fold_constant_for_init): New function.
|
||||
|
@ -307,39 +307,39 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
|
||||
case CONSTANT_Integer:
|
||||
{
|
||||
jint num;
|
||||
int most_negative = 0;
|
||||
fputs (" static const jint ", out);
|
||||
print_name (out, jcf, name_index);
|
||||
fputs (" = ", out);
|
||||
num = JPOOL_INT (jcf, current_field_value);
|
||||
/* We single out the most negative number to print in
|
||||
hex. That avoids later warnings from g++. */
|
||||
/* We single out the most negative number to print
|
||||
specially. This avoids later warnings from g++. */
|
||||
if (num == 0x80000000)
|
||||
{
|
||||
strcpy (buffer, "0x");
|
||||
format_uint (buffer + 2, (jlong) (uint32) num, 16);
|
||||
most_negative = 1;
|
||||
++num;
|
||||
}
|
||||
else
|
||||
format_int (buffer, (jlong) num, 10);
|
||||
fprintf (out, "%sL;\n", buffer);
|
||||
format_int (buffer, (jlong) num, 10);
|
||||
fprintf (out, "%sL%s;\n", buffer, most_negative ? " - 1" : "");
|
||||
}
|
||||
break;
|
||||
case CONSTANT_Long:
|
||||
{
|
||||
jlong num;
|
||||
int most_negative = 0;
|
||||
fputs (" static const jlong ", out);
|
||||
print_name (out, jcf, name_index);
|
||||
fputs (" = ", out);
|
||||
num = JPOOL_LONG (jcf, current_field_value);
|
||||
/* We single out the most negative number to print in
|
||||
hex. That avoids later warnings from g++. */
|
||||
/* We single out the most negative number to print
|
||||
specially.. This avoids later warnings from g++. */
|
||||
if (num == 0x8000000000000000LL)
|
||||
{
|
||||
strcpy (buffer, "0x");
|
||||
format_uint (buffer + 2, num, 16);
|
||||
most_negative = 1;
|
||||
++num;
|
||||
}
|
||||
else
|
||||
format_int (buffer, num, 10);
|
||||
fprintf (out, "%sLL;\n", buffer);
|
||||
format_int (buffer, num, 10);
|
||||
fprintf (out, "%sLL%s;\n", buffer, most_negative ? " - 1" :"");
|
||||
}
|
||||
break;
|
||||
case CONSTANT_Float:
|
||||
|
Loading…
Reference in New Issue
Block a user