https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117820

--- Comment #6 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
With kind=4 we do treat the sign bit as part of the value.

program test
  integer(4) :: x
  x = -huge(x) - 1_4

  print '("-huge -1   = <",B32.32,">")', x
  print '("    zero   = <",B32.32,">")', 0_4
  print *,"-------"
  print '("-huge -1   = <",B32.0,">")', x
  print '("    zero   = <",B32.0,">")', 0_4
  print *,"-------"
  print '("-huge -1   = <",B0.0,">")', x
  print '("    zero   = <",B0.0,">")', 0_4
end program

$ ./a.out 
-huge -1   = <10000000000000000000000000000000>
    zero   = <00000000000000000000000000000000>
 -------
-huge -1   = <10000000000000000000000000000000>
    zero   = <                                >
 -------
-huge -1   = <10000000000000000000000000000000>
    zero   = < >

We are not being consistent.

Reply via email to