- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I would like use icc to complie the sample assembly, but the compile time last almost forever
with mcpcom costing one cpu core resource 100%:
#define ASM __asm
#define ENDLINE ;
int main(void)
{
int a, b;
a = 10;
ASM
{
MOV EAX, a ENDLINE
MOV b, EAX ENDLINE
}/*ASM*/
return 0;
}/*main*/
As you watch, I replace ; as ENDLINE , that is make the compile does not complete.
when I use l instead ; , that is normal;
but the code has be compiled normally by VC 8 (VS 2005).
Is there is some restriction by #define replacing on icc ?
thank you.
My environment:
OS :windows 7 (win 6.1 ) with SP1
Intel c++ complier XE 12.0
IDE : VS 2005
cpu : intel i5 2400
board : H61 (it is cheap enough to its performance for me)
I would like use icc to complie the sample assembly, but the compile time last almost forever
with mcpcom costing one cpu core resource 100%:
#define ASM __asm
#define ENDLINE ;
int main(void)
{
int a, b;
a = 10;
ASM
{
MOV EAX, a ENDLINE
MOV b, EAX ENDLINE
}/*ASM*/
return 0;
}/*main*/
As you watch, I replace ; as ENDLINE , that is make the compile does not complete.
when I use l instead ; , that is normal;
but the code has be compiled normally by VC 8 (VS 2005).
Is there is some restriction by #define replacing on icc ?
thank you.
My environment:
OS :windows 7 (win 6.1 ) with SP1
Intel c++ complier XE 12.0
IDE : VS 2005
cpu : intel i5 2400
board : H61 (it is cheap enough to its performance for me)
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The Intel C++ compiler behaviour ss different in this case. It seems a bug to me.
I have submitted a report to Intel C++ compiler development team. I will update this thread when I have more information on this.
Om
I have submitted a report to Intel C++ compiler development team. I will update this thread when I have more information on this.
Om
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The issue is fixed in latest Intel C++ Composer XE 2011. The composer is available from "Intel Regiatration and Download Center".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This defect and solution summarized in article at http://software.intel.com/en-us/articles/the-inline-asm-makes-the-intel-c-compiler-hanging/.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
While this is a bug, it should be noted that ; is not required in __asm block as an end-of-statement marker.
Rationale:
Assembler (even inline) is not C.
Rationale:
Assembler (even inline) is not C.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page