- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't see the attachment. --Melanie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

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