Host inline function to updated correctly Any help, please?

I have the following problem:

I have several .cu files. Each of them calls an inline function foo which is declared in config.h header file.
I rebuild whole project (under Visual Studio), run it.
Everything works fine.

Now I change the content of foo function in the header.
Modify one of the .cu files.
Recompile the modified file.
Run it.
At this point I expect this one .cu file to use the updated version of foo, however that is not the case.

However if I recompile whole project, everything works fine.

I tried the following:

  • modify foo so that it wouldn’t compile at all. Error is reported as expected by the compiler, so it is recompiled.
  • read the big file generated by the parser, to see if something is not included incorrectly. That is not the case.
  • modify the calling function to check if it is linked correctly. It is.

It is a purely CPU code compiled through nvcc.

Possible walkaround: rebuild whole project after each change. But I don’t want to wait minutes after every tiny change!

So, any ideas what may be the problem? What I could try to resolve it?

I tried to make a simple 3-file example to try to nail it down, but I failed. Probably if I was able to reproduce the problem, I would be able to resolve this!