My project ( VS10+PGI fortran+cuda) was able to compile before I turned on function-level profile option (-Mprof=func), together with some code changes. Naturally, I got bunch of compiling error. I decided to clean up the code w/o profiling first. I couldn’t solve two link errors that were never seen before the change : two external symbols were requested but not found in my code – “rouent” and “rouret”. To my surprise, it was able to compiled if I turned on the function-level profile option again. I am wondering if there are some leftover configurations are not cleared when the profile option gets turned off.
Something may or may not related: If I open the .obj file, ___rouent and ___rouret are always there with or without the profiling option.
… part of the obj file
.pgi_trace pemp_fftw.f PGI_PROFENT1 .STATICS1 ___MAIN_END .pgi_trace ____rouent _pghpf_init
update: it compiles with line-level profile too.