Unaligned COMMON blocks generate bus erros. One of the most basic test used by configure to test the alignement of the Fortran types fail to compile. Even worst it generate a bus error on an Apple computer. program falign external ALIGN LOGICAL w,x,y,z CHARACTER a,b,c common /foo/a,w,b,x,y,c,z call ALIGN(w,x,y,z) end gfortran has been compiled from snapshot download today (4 May 2005) from the gcc website. I compile it on a dual G5 machine using the flags "-mcpu=G5 -maltivec".
I thought this was fixed. on i686-pc-linux-gnu we get the following warnings: In file t.f:7 common /foo/a,w,b,x,y,c,z 1 Warning: Padding of 3 bytes required before 'x' in COMMON 'foo' at (1) In file t.f:7 common /foo/a,w,b,x,y,c,z 1 Warning: Padding of 3 bytes required before 'z' in COMMON 'foo' at (1) In file t.f:7 common /foo/a,w,b,x,y,c,z 1 Warning: COMMON 'foo' at (1) requires 3 bytes of padding at start Guess I have to check on my Mac OS X box when I get back to my dorm room.
I get the latest version from CVS. And the bug seems to be fixed on this version. fortran compiler version: applebasket:/tmp root# gfortran --version GNU Fortran 95 (GCC 4.1.0 20050504 (experimental)) Copyright (C) 2005 Free Software Foundation, Inc. GNU Fortran comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of GNU Fortran under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING Result of the code: In file check_size.F:5 common /foo/a,w,b,x,y,c,z 1 Warning: Padding of 3 bytes required before 'x' in COMMON 'foo' at (1) In file check_size.F:5 common /foo/a,w,b,x,y,c,z 1 Warning: Padding of 3 bytes required before 'z' in COMMON 'foo' at (1) In file check_size.F:5 common /foo/a,w,b,x,y,c,z 1 Warning: COMMON 'foo' at (1) requires 3 bytes of padding at start
Lets reopen it and ...
Close it as a dup of bug 20059. *** This bug has been marked as a duplicate of 20059 ***