/GT (Support Fiber-Safe Thread-Local Storage)
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

/GT (Support Fiber-Safe Thread-Local Storage)


This option supports fiber safety for data allocated using static thread-local storage, that is, data allocated with __declspec(thread).

Data declared with __declspec(thread) is referenced through a thread-local storage (TLS) array. The TLS array is an array of addresses that the system maintains for each thread. Each address in this array gives the location of thread-local storage data.

A fiber is a lightweight object that consists of a stack and a register context and can be scheduled on various threads. A fiber can run on any thread. Because a fiber may get swapped out and restarted later on a different thread, the address of the TLS array must not be cached or optimized as a common subexpression across a function call (see the /Og option for details). /GT prevents such optimizations.

To set this compiler option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.
  2. Click the C/C++ folder.
  3. Click the Optimization property page.
  4. Modify the Enable Fiber-safe Optimizations property.

To set this compiler option programmatically

See EnableFiberSafeOptimizations Property.

See Also

Compiler Options | Setting Compiler Options

© 2016 Microsoft