Intel C++ 13.0.089 , problem with batch built using VisualStudio 2008

Intel C++ 13.0.089 , problem with batch built using VisualStudio 2008

Armando Lazaro Alaminos Bouza's picture

I rencently update to Intel C 13.0.089  and my batch build , that creates several defines (/Dxxxx /Dyyyyy /Dzzzz....) now sent only the first define to the compiler .  So my old batch is useless with version 13.0.xx  , but is perfect for  version 12.x.yy .   In order to create de defines I use de CL enviroment variable , something like :

set CL = /DMEVIS#15890 /DLIMITED_TIME /DINCLUDE_SRS 

devenv.com /Rebuild release /project CAT3D   CAT3D.SLN

It is working ok with all my previous versions of Intel C++  (using VC2008) , but not 13.0.089

Is there any advice for solving the issue ?

Thanks,   Armando

18 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Armando Lazaro Alaminos Bouza's picture

As a complement, I use Windows 7 Ultimate, 64 bits.

Jennifer J. (Intel)'s picture

Quote:

Armando Lazaro Alaminos Bouza wrote:

I rencently update to Intel C 13.0.089  and my batch build , that creates several defines (/Dxxxx /Dyyyyy /Dzzzz....)

how do you pass the defines originally?

Jennifer

Armando Lazaro Alaminos Bouza's picture

Hi Jenninfer. I always passed the defines using de CL enviroment variable. As I wrote, my method is properly working for Intel C/C++ 12.xx.yy but the same batch fails when using Intel C/C++ 13.0.089, so there was change in this compiler , or in its interaction with the devenv.com . My batch uses devenv.com which in turns calls a VC2008 project and pass several defines as " SET CL=/Dxxxx /Dyyyy ... " With Intel 13, only the first one defines is passed.
I could downgrade the compiler to "w_ccompxe_2011.12.369.exe" or change the way I set the defines for each user. But I thought the right thing to do was notify Intel developers and ask for advice or solution.

Jennifer J. (Intel)'s picture

Thanks. I saw the private msg as well.

The actual compiler options are correct, only the buildlog.html is not correct. Let me know if this is the case for you as well. If you turn off the "nologo" from the project property, you can see the full compiler options.

Here is my test output:
1) from the cmd window, it got following:

Compiling with Intel(R) C++ Compiler XE 12.1.6.369 [IA-32]... (Intel C++ Environment)
Intel(R) C++ Compiler XE for applications running on IA-32, Version 12.1.6.369 Build 20120821
Copyright (C) 1985-2012 Intel Corporation. All rights reserved.
icl /DMEVIS#15890 /D__DTEST1 /D__DTEST3 /c /O2 -D WIN32 -D _WINDOWS -D NDEBUG -D _USRDLL -D _WINDLL -D _ATL_DLL -D _UNIC
ODE -D UNICODE /EHsc /MD /GS /fp:fast /YuStdAfx.h /FpRelease/atl_vec_test.pch /FoRelease/ /FdRelease/vc90.pdb /W3 /Zi /Q
vc9 "/Qlocation,link,C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\\bin" .\mySum.cpp .\atl_vec_test.cpp

mySum.cpp
**********__DTEST1 defined.
**********__DTEST3 defined.

the msg "*******__DTEST1 defined." is printed with "#pragma message("**********__DTEST1 defined. ");" in the mySum.cpp code.

2) from the buildlog.html, it has following:

/c /O2 /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "_USRDLL" /D "_WINDLL" /D "_ATL_DLL" /D "_UNICODE" /D "UNICODE" /EHsc /MD /GS /fp:fast /Yu"StdAfx.h" /Fp"Release/atl_vec_test.pch" /Fo"Release/" /Fd"Release/vc90.pdb" /W3 /Zi /Qvc9 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\\bin"
.\mySum.cpp
.\atl_vec_test.cpp

Jennifer J. (Intel)'s picture

Sorry. The above is 12.1.

Tried 13.0, the output is below and it did not pass any of the /D predefined macro. I'll file a bug report right now.

icl /c /O2 -D WIN32 -D _WINDOWS -D NDEBUG -D _USRDLL -D _WINDLL -D _ATL_DLL -D _UNICODE -D UNICODE /EHsc /MD /GS /fp:fas
t /YuStdAfx.h /FpRelease/atl_vec_test.pch /FoRelease/ /FdRelease/vc90.pdb /W3 /Zi /Qvc9 "/Qlocation,link,C:\Program File
s (x86)\Microsoft Visual Studio 9.0\VC\\bin" .\mySum.cpp .\atl_vec_test.cpp

Intel(R) C++ Compiler XE for applications running on IA-32, Version 13.0.0.087 Build 20120718
Copyright (C) 1985-2012 Intel Corporation. All rights reserved.

mySum.cpp
atl_vec_test.cpp

Armando Lazaro Alaminos Bouza's picture

Hi Jennifer, Thank you for your attention. I am modifing the source to accomodate my code to the present limitation. I am now using only one define (version 13.0 support one define) and inside the code the other defines are evaluated based on this incoming define. For this project there is a solution, but I am afraid that this bug could be a serious trouble for other cases.

VADIM G. (Intel)'s picture

Looks like a bug in the compiler driver. As a workaround, try adding quotes to your definition command:
set CL ="/DMEVIS#15890 /DLIMITED_TIME /DINCLUDE_SRS"
This should work for 13.0, but not for 12.1.

Jennifer J. (Intel)'s picture

This issue has been fixed in 13.0 update 2 and later.

Jennifer

Armando Lazaro Alaminos Bouza's picture

Hi Jennifer,  Thanks for your info.  I will try again.  In  october 2012 I changed the project to solve the issue of several compilation defines for batch.  Any way , it is nice to know that the compiler driver is working properly again.

Armando

Sergey Kostrov's picture

>>...Tried 13.0, the output is below and it did not pass any of the /D predefined macro...

I also would like to confirm that I didn't have any problems with passing predefined macros when using Visual Studio 2008 Professional Edition and Intel C++ Compiler XE 13.1.0.089 ( Initial Release ) & 13.1.0.149 ( Update 2 ).

Armando Lazaro Alaminos Bouza's picture

Hi  Jennifer  ,

First impressión from update 3 are not good for me !

One of our main projects  (CAT3D)   returns with :

": internal error: 0_10711

I have no idea of the reason for the internal error in the compiler.

More details  :

1>Compiling with Intel(R) C++ Compiler XE 13.1.1.171 [IA-32]... (Intel C++ Environment)
1>Rad_TERMA.C
1>C:\ALA711\sdlCAT3D\Rad_TERMA.C(81): (col. 5) remark: LOOP WAS VECTORIZED.
1>C:\ALA711\sdlCAT3D\Rad_TERMA.C(500): (col. 46) remark: FUSED LOOP WAS VECTORIZED.
1>Compiling with Intel(R) C++ Compiler XE 13.1.1.171 [IA-32]... (Intel C++ Environment)
1>radroi_auto.c
1>radmana.c
1>radfusi.c
1>": internal error: 0_10711
1>
1>Compiling with Intel(R) C++ Compiler XE 13.1.1.171 [IA-32]... (Intel C++ Environment)
1>RADTELE.C
1>Build log was saved at "file://C:ALA711\sdlCAT3D\CAT3D\CAT3D\Release\BuildLog.htm"
1>CAT3D - 0 error(s), 0 warning(s), 15 remark(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

I am going to revert to update  1.

Thanks ,

Armando

Armando Lazaro Alaminos Bouza's picture

I forgot to tell that  I am compiling from  Visual Studio 2008

Jennifer J. (Intel)'s picture

Wow, sorry about that, Armando. 

Is it possible to send me the "radfusi.i" file that causes the "internal error"? I'd like to get the compiler bug fixed. I'll use the "send author a msg" for it. 

Jennifer 

Armando Lazaro Alaminos Bouza's picture

Now I read than my case is not the first !   Found this post by Mr. R W Green :

0_10711 internal compiler errorinternal error: 0_10711 Internal Compiler Error with Composer XE 2013 Update 3

Submetido por Ronald W Green ... em qui, 11/04/2013 - 10:48

The Intel Composer XE 2013 Update 3 compiler may experience the following Internal Compiler Error:  

0_10711

: catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.

Armando Lazaro Alaminos Bouza's picture

where is  "radfusi.i"   ?     What the  .i   extension is ?

Armando Lazaro Alaminos Bouza's picture

I just sent radfusi.i by private mail

Armando Lazaro Alaminos Bouza's picture

I just sent radfusi.i by private mail

Login to leave a comment.