dependencies, warnings and rebuilds

dependencies, warnings and rebuilds

Portrait de xrundel2000@

Hey there,

I've just started evaluating Intel C++ compiler for windows, and have discovered a few weird but somewhat related anomalies.

Here is some general info:
Compiler: W_CC_PU_7.0.094.exe
from premier.intel.com
Environment: MS visual studio .net (official released version)

1) compiling a simple static library
-- start with a project that compiles successfully
-- change one .cpp file
-- build again (this file is recompiled and the .lib is rebuilt)
-- build again (last action is repeated)
-- ...
So, the lib is rebuilt as every time you build it ? i.e. no ?everything is up to date? message

2) compiling a simple static library
-- start with a project that compiles successfully
-- close the solution
-- open the solution again
-- build again (the entire library is rebuilt)
So, the lib is rebuilt as every time you reopen the solution ? i.e. no ?everything is up to date? message

3) compiling a project with warnings
-- start with a project that compiles but generates a few warnings
-- build again (most of the project gets rebuilt)
-- build again (last action is repeated)
-- ...
So, the project is rebuilt as every time you build it, as if .obj was not generated...

Now, everything works as one would expect when ICL is uninstalled -- i.e. all dependencies are working.

Any info, suggestions are appreciated. Thanks in advance.
xrundel

9 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.
Portrait de maximillian-domeika (Intel)

What are your command line options? Specifically, are you using -FD or -Gm?

Max

Portrait de xrundel2000@

Hmmmm, I have checked the debug build, it had "minimal rebuild" set in options, and I added /FD as the additional compiler option. Unfortunately, it did not help... The changed file is recompiled every single time.

Here are the debug target options:
/c /I "include" /I "..ATR_UtilityLibinclude" /I "..ATR_InterfaceLibinclude" /Zi /nologo /W3 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Gm /EHsc /RTC1 /MTd /GR /Yu"precompiledpp.h" /Fp".debugprecompiledpp.pch" /Fo".debug/" /Fd".debug/" /FR".debug/" /Gd /FD

Another strange thing is that /FD somehow made it into the release target settings... It's not present in any compiler settings pages....

Also, the thing that pisses me off big time, is the fact that the lib gets rebuilt after closing/openning the project....

Regrds,
xrundel.

Portrait de maximillian-domeika (Intel)

There are some known issues in our support of -FD and -Gm. I'd like to attempt to summarize your issue so I'm clear on your issue. Your issue is that icl rebuilds your entire library every time you recompile whereas the MS compiler does not.

To verify that the issue is related to -Gm and -FD, can you try an MS compile where -Gm and -FD are not used? I would expect MS to exhibit the same behavior, e.g. rebuild completely every time.

Depending on your results:
Do you have a reproducer that is minimal in size? Any chance you could file a Premier support issue?

Thanks,

Max

Portrait de xrundel2000@

ok, let me summarise this :)

1) every time I open a static library project and click "build" the entire library is rebuilt

2) after the project is opened, and the library is built, change one .cpp file. Every time I click "build" this one file is recompiled and the new .lib is created by the librarian.

3) a project with warnings is rebuilt every time I click "build" as these warnings were errors.

4) a new issue - precompiled headers misbehave. My precompiled header is compiled in one go with the other much of files (icl stdafx.cpp a.cpp b.cpp) while it must be built separately (icl stdafx.h; icl a.cpp b.cpp). BTW, my precompiled header file is called precompiledpp.cpp :)

Notes:
-- issue2 does not happen in "release" builds:
/c /I "include" /I "..ATR_UtilityLibinclude" /Zi /nologo /W3 /Ox /Ob1 /Oy /GA /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /GF /FD /EHsc /MT /GS /Gy /GR /Yu"precompiledpp.h" /Fp".
eleaseprecompiledpp.pch" /Fo".
elease/" /Fd".
elease/" /Gd

-- as for testing the MS compiler... When the intel package is installed, my builds go crazy ? dependencies are ignored, code is rebuilt all over the show. I cannot yet get the hang of what actually happens

-- as for a small demo?. Sure, I?? create a small lib and upload it to premier.intel.com

Best regards,
xrundel

Portrait de maximillian-domeika (Intel)

Can you post the issue ID number here after you file the issue? That will make it easier for me to check up on your issue later?

Thanks,

Max

Portrait de xrundel2000@

181706

but it does not have any files yet....

Portrait de maximillian-domeika (Intel)

Agreed. This type of issue is quite hard to strip down.

One thing I do in working with these issues is to try and reproduce from the command line, e.g. the command prompt.
Try and localize files to one directory. See if MS behavior changes when .pch and .idb files are removed. Remove, the -Gm and -FD switch.

Max

Portrait de xrundel2000@

hmmm, I've just tried creating a new library project, but the build behaviour is quite inconsistent... These dependency-related things appear and disappear...

I've also tried stripping my library down to a few files, but issues disappear. Any ideas?

Best regards,
xrundel

Connectez-vous pour laisser un commentaire.