Suddenly, one my project has gone crazy. Intel compiler can't compile it.
It has like 100 c and a couple of c++ files and output folder always contains only 24-25 files (obj for only some files). As if there were not enough space for other obj files. But I have enought space. While it compiles project, I see these obj files appear briefly and then disappear from the obj folder. I have no antivirus at all. I deleted all output foldes and removed all project tmp files (ncb, suo etc). I tried to move the project folder, I tried to move it to different phisical HD, still the same problem: obj files simply dissapear. I tried to reboot... nothing helps. If i try to compile manually c files separately for which obj files disapear then they compile fine, but if I compile entire project then these files disapear.
I tried everything that I could possibly try, and all I see is that for some reason intel compiler does not behave properly: it deletes output objects by itself.
I used process monitor and it was obvious that mcpcom.exe creates, writes and closes obj file and right after that it re-opens it, and deletes it. I wasted hours to find out what's wrong. The problems apears to be related to symbol versioning using gnu asm syntax. Intel compiler accepts it and doens't complain, but then it reopens the obj file and deletes it... AND THEN IT WALKS ENTIRE output dir and deletes almost all other obj files. How it decides what to delete and what not is strange; but there is definetely some algo: it always deletes all but 24 obj files
WTF?! seriously, I can't find a better word for that behaviour.
Here's symbol versioning: http://gcc.gnu.org/wiki/SymbolVersioning
I use ICL XE update 11 build 344 on win7x64