Export (0) Print
Expand All
Expand Minimize

Compiler Warning (level 1) C4794

Error Message

segment of thread local storage variable 'variable' changed from 'section name' to '.tls$'

You used #pragma data_seg to put a tls variable in a section not starting with .tls$.

The .tls$x section will exist in the object file where __declspec(thread) variables are defined. A .tls section in the EXE or DLL will result from these sections.

Example

The following sample generates C4794:

// C4794.cpp
// compile with: /W1 /c
#pragma data_seg(".someseg")
__declspec(thread) int i;   // C4794

// OK
#pragma data_seg(".tls$9")
__declspec(thread) int j;

Community Additions

ADD
Show:
© 2014 Microsoft