Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Internal error: assertion failed at: "shared/cfe/edgcpfe/lower_name.c", line 9613

Marco_P_
Beginner
1,195 Views

Compiling the attached source yields an internal error in shared/cfe/edgcpfe/lower_name.c. This issue is not limited to compilation of pre-processed sources, I've only attached a pre-processed source to make it easier for you to reproduce. If you prefer reproducing this with normal C++ sources I can give you instructions to reproduce by compiling a patched Fruit (http://github.com/google/fruit) library.

This is the first time that I try compiling Fruit with the Intel compiler, so I'm not sure if it worked on previous versions of icc. The version I'm using is ICC 16.0.1 20151021 on Linux.

 $ icc -x c++-cpp-output -O2 -g -fPIC -std=c++11 -W -Wall -g -Werror include_test.i
/home/marco/projects/fruit/include/fruit/impl/meta/basics.h(27): internal error: assertion failed at: "shared/cfe/edgcpfe/lower_name.c", line 9613

  struct Type {
         ^

compilation aborted for /home/marco/projects/fruit/build/tests/include_test.i (code 4)
0 Kudos
5 Replies
Melanie_B_Intel
Employee
1,195 Views

I don't see the attachment. --Melanie

0 Kudos
Marco_P_
Beginner
1,195 Views

Attaching file now, not sure why the one I attached with the first post didn't appear.

 

0 Kudos
Judith_W_Intel
Employee
1,195 Views

 

Thanks for the test case and the report.

I have entered it into our bugs database as DPD200380385.

This seems to be a problem in our compiler when mangling the name of an empty variadic pack, I have reduced it to the following:

template <typename T> struct Type {};

template <typename MetaExpr> using Eval = MetaExpr;

struct Construct {};

template <typename... Params>
struct Component
{
  using Comp = Eval < Construct(Type<Params>...) >;
};

Component<> createComponent() { return {}; }

We will work on getting it fixed as quickly as possible. Sorry for the inconvenience.

Judy

0 Kudos
Jun_L_
Beginner
1,195 Views

Hi, 

I also have similar problem compiling the attached code; any suggestion to resolve it will be highly appreciated.

-bash-4.1$ icpc -std=c++11 -I./include Enumerate.cpp
/usr/include/c++/4.4.6/tr1_impl/functional(1997): internal error: assertion failed at: "shared/cfe/edgcpfe/lower_name.c", line 7412

               typename __gnu_cxx::__enable_if<
               ^

compilation aborted for Enumerate.cpp (code 4)

-bash-4.1$ icpc -V
Intel(R) C++ Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.0.090 Build 20140723
Copyright (C) 1985-2014 Intel Corporation.  All rights reserved.

0 Kudos
Judith_W_Intel
Employee
1,195 Views

 

Although the internal error mentioned above is happening in the same source file (at line 7412 of lower_name.c) it has nothing to do with the original internal error reported in this topic (line 9613).

The internal error mentioned above is not reproducible with the latest update to version 15.0 or in any update of 16.0. Please upgrade to a new version of the compiler for the fix.

Judy

0 Kudos
Reply