Mike, I don't believe that this warning with "-O3 -m64 -g" is due to the fortran compiler optimizing away the storage. If I compile...
program test integer i,j common i do j = 1,100 i=i+1 end do end I still see the warning "can't find atom for N_GSYM stabs i:G(0,3)" and I would be surprised if the storage for "i" was being optimized away. I did one other test using the test case of... program test integer i common i end ...with and without the common statement at both -m32 and -m64. The resulting lines in assign.s introduced by the use of the common section are identical in both -m32 and -m64 compiles... --- assign.s.nocommon 2006-08-19 10:45:59.000000000 -0400 +++ assign.s 2006-08-19 10:46:19.000000000 -0400 @@ -18,6 +18,11 @@ .stabs "void:t(0,1)",128,0,0,0 Lscope1: .stabs "",36,0,0,Lscope1-LFBB1 +.comm ___BLNK__,4 + .stabs "__BLNK__:G(0,2)=s4i:(0,3)=r(0,3);-2147483648;2147483647;,0,32;;",32,0,3,0 + .stabs "int4:t(0,3)",128,0,0,0 + .stabs "__BLNK__:G(0,2)",32,0,3,0 + .stabs "i:G(0,3)",32,0,4,0 .stabs "",100,0,0,Letext0 Letext0: .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 ...however only the ld64 linker issues the "can't find atom for N_GSYM stabs i:G(0,3)" complaint. I think this suggests a bug in ld64, no? Jack