[Bug fortran/44489] Transfer with boz constant gives wrong results

2010-06-09 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2010-06-10 04:24 ---
This is probably a bogus PR.
The BOZ literal constants are INTEGER(16) entities
(at least of x86_64).  ii8 is an INTEGER(4) item.
The transfer() in the print statement is returning
a INTEGER(16) entity where only INTEGER(4) worth of
bits are set.

I've removed the 'wrong-code' keyword, because I
think you are getting processor dependent behavior.
In fact, the program might be nonconforming, but I'd
need to read up on transfer().


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords|wrong-code  |


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



[Bug fortran/44489] Transfer with boz constant gives wrong results

2010-06-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #2 from jvdelisle at gcc dot gnu dot org  2010-06-10 04:37 
---
Interesting!

  print *, kind=, kind(transfer(ii4,z'1000'))

On my system this gives kind = 8


-- 


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