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

assertion failed: reconcile_routine_types: shared param types unexpected (shared/cfe/edgcpfe/decls.c, line 5524)

Aleksandr_M_
Beginner
421 Views

Hello!

Here is minimal working example, where combination of typedefed templated method type with static keyword results into compilation failure:

template<typename T>
using func_t = void (T x);

class MyClass
{
public:
template<typename T>
    static func_t<T> method;
};

template<typename T>
void MyClass::method(T x)
{
}

 

Namely, I am getting following error:

internal error: assertion failed: reconcile_routine_types: shared param types unexpected (shared/cfe/edgcpfe/decls.c, line 5524)"

 

If I simply substitute templated typedef, compilation works fine. Presented example compiles with other compilers (gnu) but fails with Intel 2015, 2016 2017 and 2018 compilers with -std=c++11 flag.

0 Kudos
1 Reply
Viet_H_Intel
Moderator
421 Views

Thanks for report this issue. I've filed a bug internally (CMPLRIL0-31134) to address this problem.

0 Kudos
Reply