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

error compiling: using __thread with template class static variable

jiuxingliu
Beginner
312 Views
Hi,

The following compiles fine under gcc 3.4 and 4.2, but fails under Intel compiler 11.0. Any insights? Thanks.

tls_test.h:
template
class tls_test
{
static __thread int i;
};

template
__thread int tls_test::i = -1;

tls_test.cpp:
#include "tls_test.h"
tls_test<2> t;

Compiler output:
$/apps/intel/Compiler/11.0/069/bin/intel64/icpc -c tls_test.cpp
tls_test.h(10): error: template argument list must match the parameter list
__thread int tls_test::i = -1;

Also tried Intel compiler 11.1 (icpc (ICC) 11.1 20090630), same result.

0 Kudos
1 Reply
Milind_Kulkarni__Int
New Contributor II
312 Views
11.0 latest does not fix the problem.

11.1 latest fix the problem.

You should not test with such old compiler version like 20090630 ..

please try latest 11.1 version
0 Kudos
Reply