Compiling ok w/ function-level profiling but failed without

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.

Any idea?

… 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.

I believe that the two routines with “rou” in them are timing routines, references to which were produced when you compiled some source files with profiling turned on.

Do “clean” and “rebuild”, so that all objects are built with profiling set off, and link again.