https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110419
--- Comment #4 from anlauf at gcc dot gnu.org ---
It appears that the issue could be studied with the following code:
program p
implicit none
integer :: a = 65
call val ("A", char(a))
contains
subroutine val (x, c)
character(kind=1), intent(in) :: x ! control: pass by reference
character(kind=1), value :: c
print *, "by reference(kind=1): ", x
print *, "by value (kind=1): ", c
if (c /= x) stop 1
end
end
If this works on LE with -m64 and -m32, and also on BE with -m64,
why would it fail on BE with -m32 ?