Skip to content

ICC Bug List

Matthias Kretz edited this page Dec 8, 2015 · 3 revisions

Since the Intel bug tracker for ICC is locked up I'll use this space to document some of the bugs I come across and reported. The numbers correspond to the Issue ID in the Intel Business Portal.

[6000144543] Pack expansion gets confused by an additional sizeof... expression

ICC tries to static_cast<int *>(double()). If you replace sizeof...(Ts) with any integer it compiles just fine.

#include <utility>
template <typename... Ts> void foo(Ts &&...);
template <std::size_t N, typename T> T maybe(T &&);
template <typename... Ts> void baz(Ts &&... args)
{
  foo(maybe<sizeof...(Ts)>(static_cast<Ts>(args))...);
}
void bar()
{
  int e;
  baz(double(), &e);
}
Clone this wiki locally