Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

ftls-model

Changes the thread local storage (TLS) model.

Syntax

Linux:

-ftls-model=model

macOS:

-ftls-model=model

Windows:

None

Arguments

model

Determines the TLS model used by the compiler. Possible values are:

global-dynamic

Generates a generic TLS code. The code can be used everywhere and the code can access variables defined anywhere else. This setting causes the largest size code to be generated and uses the most run time to produce.

local-dynamic

Generates an optimized TLS code. To use this setting, the thread-local variables must be defined in the same object in which they are referenced.

initial-exec

Generates a restrictive, optimized TLS code. To use this setting, the thread-local variables accessed must be defined in one of the modules available to the program.

local-exec

Generates the most restrictive TLS code. To use this setting, the thread-local variables must be defined in the executable.

Default

OFF

The compiler uses default heuristics when determining the thread-local storage model.

Description

This option changes the thread local storage (TLS) model. Thread-local storage is a mechanism by which variables are allocated in a way that causes one instance of the variable per extant thread.

For more information on the thread-storage localization models, see the appropriate GCC* documentation.

For more information on the thread-storage localization models, see the appropriate Clang documentation.

IDE Equivalent

None

Alternate Options

None