Existe alguma maneira de emular completamente o thread_local usando o __thread do GCC?

O padrão C ++ 11 contém uma nova adição - o especificador thread_local - que torna variáveis ​​estáticas thread-local. O thread_local padrão suporta tipos não-triviais - aqueles com construtores e destruidores. O GCC, infelizmente, suporta apenas tipos triviais via__thread especificador fornecido como extensão. Existe uma maneira de emularthread_local Em cima de__thread? A implementação de__thread é muito rápido (equivalente a variável regular mais duas indirecções), por isso quero evitar funções de biblioteca no caminho quente.

Estou usando o GCC e o Linux. Portabilidade não é necessária.

questionAnswers(1)

yourAnswerToTheQuestion