$ cat z.f
      program z
      i = Z'80203040'
      if (i .ne. Z'80203040') call abort
      end
$ gfortran z.f
$ ./a.out
Aborted
$ g77 z.f
$ ./a.out
$ 

This is a signedness/cast issue.  .t02.original shows:

  int4 i;

  i = 080203040;
  if ((int8) i != 080203040)
    {
      _gfortran_abort ();
    }
  else
    {
      (void) 0;
    }

(And why is hexadecimal shown as 0 in the dump?)


-- 
           Summary: Z and negative integers
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tkoenig at gcc dot gnu dot org
OtherBugsDependingO 19292
             nThis:


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24828

Reply via email to