Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Georg_B_1
Beginner
75 Views

Failed Assertion shared/cfe/edgcpfe/lower_il.c, line 17923

Hi,

I'm currently trying to compile a solution with the Intel Compiler (Intel(R) 64, Version 15.0.7.287 Build 20160518). It compiles without any errors using the Visual Studio Compiler (2013) on Windows, gcc on Linux and clang on macOS. However, there seems to be an error with the Intel Compiler and boost and I have no clue on what to try next. The complete error message is:

C:\development\dependencies\boost\include\boost-1_61\boost/move/detail/unique_ptr_meta_utils.hpp(361): internal error: assertion failed at: "shared/cfe/edgcpfe/lower_il.c", line 17923

I already found some posts on a simliar message on the forum here but nothing helped me out. I compiled boost 1.61 using the intel compiler and it worked without any problems.

Are there any suggestions?

Thanks a lot!

0 Kudos
1 Reply
Judith_W_Intel
Employee
75 Views

 

I'm pretty sure this is the same problem that was fixed in version 16.0 on 1/22/2016 tracked in our internal bugs database as DPD200377575.

This was the test case that triggered the problem (from Boost):

class deque {public: deque(){}; ~deque(){}; };
struct nat{};
struct default_delete
{
   nat operator()(deque* ptr) const
   {
     deque * const p = static_cast<deque *>(ptr);
     true ? delete [] p : delete p;
     return nat();
   }
};
struct unique_ptr_data
{
   default_delete & deleter(){return d;};
   deque* m_p;
   default_delete d;
};
class unique_ptr
{
public:
   unique_ptr(){};
   unique_ptr_data m_data;
   ~unique_ptr() {m_data.deleter()(m_data.m_p);}
};
inline unique_ptr make_unique() { return unique_ptr(); }
bool do_test()
{
   unique_ptr const p = make_unique();
   return true;
}
int main ()
{
   do_test();
   return 0;
}

Please upgrade to the latest 16.0 update or -- better yet -- to the 17.0 compiler.

thanks and sorry for the trouble.

Judy

Reply