This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/38504] double minus sign when printing integer?
- From: "kargl at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Dec 2008 16:03:30 -0000
- Subject: [Bug fortran/38504] double minus sign when printing integer?
- References: <bug-38504-11277@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from kargl at gcc dot gnu dot org 2008-12-12 16:03 -------
Looking at the -fdump-tree-original, I suspect that the minus sign in
the hex formatted number is redundant. To keep things short, I've removed
the dt_parm setup code. _gfortran_transfer_integer probably outputs -,
then converts 0x80000000000000 to -9223....
value = -0x8000000000000000;
{
struct __st_parameter_dt dt_parm.2;
_gfortran_transfer_integer (&dt_parm.2, &value, 8);
{
static integer(kind=8) C.1495 = -0x8000000000000000;
_gfortran_transfer_integer (&dt_parm.2, &C.1495, 8);
}
_gfortran_st_write_done (&dt_parm.2);
}
value4 = -2147483648;
{
struct __st_parameter_dt dt_parm.4;
_gfortran_st_write (&dt_parm.4);
_gfortran_transfer_integer (&dt_parm.4, &value4, 4);
{
static integer(kind=4) C.1499 = -2147483648;
_gfortran_transfer_integer (&dt_parm.4, &C.1499, 4);
}
_gfortran_st_write_done (&dt_parm.4);
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38504