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