- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Tags:
- CC++
- Development Tools
- Intel® C++ Compiler
- Intel® Parallel Studio XE
- Intel® System Studio
- Optimization
- Parallel Computing
- Vectorization
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for report this issue. I've filed a bug internally (CMPLRIL0-31134) to address this problem.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page