Assertion Bug with icc in 13.1 and 14.0

Assertion Bug with icc in 13.1 and 14.0

The following code breaks

 

############################################

typedef unsigned long uint64_t;
void*  test(uint64_t* stuff, uint64_t column_length, uint64_t start)
{
uint64_t (*source)[column_length] = (uint64_t (*)[column_length]) stuff + start;
return source;
}
#####################################################################

I get the folowing error:

% icc test.c
test.c(4) (col. 67): internal error: assertion failed: dump_expr_il0: NULL expression (shared/cfe/edgglue/edg_expr.c, line 5371)
compilation aborted for test.c (code 4)

 

Thanks in advance to any help.

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Can you accept uint64_t from stdint.h ?  Which OS?

Hello,

Seems there has some problem in front-end's evaluation in this case.I have reproduced as you said and have entered this issue into our problem-tracking database.Thank you for submitting the issue.I'll let you know when I have an update from development team.

Thank you.
--
QIAOMINQ.
Intel Developer Support

Please participate in our redesigned community support web site:
Tools Knowledge Base:           http://software.intel.com/en-us/articles/tools

I am using RHEL 6.4. 

Hello James,

This bug has been fixed in the latest compiler SP1 Update3 ,Version 14.0.3.174 Build 20140422 .Please have a check .

 

Thank you.
--
QIAOMINQ.
Intel Developer Support

Please participate in our redesigned community support web site:
Tools Knowledge Base:           http://software.intel.com/en-us/articles/tools

Leave a Comment

Please sign in to add a comment. Not a member? Join today