------- 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

Reply via email to