diff options
Diffstat (limited to 'share/doc/gcc-linaro-aarch64-linux-gnu/html/gcc/Variable-Attributes.html')
-rw-r--r-- | share/doc/gcc-linaro-aarch64-linux-gnu/html/gcc/Variable-Attributes.html | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/share/doc/gcc-linaro-aarch64-linux-gnu/html/gcc/Variable-Attributes.html b/share/doc/gcc-linaro-aarch64-linux-gnu/html/gcc/Variable-Attributes.html index 6faa2f2..3f677c9 100644 --- a/share/doc/gcc-linaro-aarch64-linux-gnu/html/gcc/Variable-Attributes.html +++ b/share/doc/gcc-linaro-aarch64-linux-gnu/html/gcc/Variable-Attributes.html @@ -56,7 +56,7 @@ Up: <a rel="up" accesskey="u" href="C-Extensions.html#C-Extensions">C Exten <h3 class="section">6.36 Specifying Attributes of Variables</h3> -<p><a name="index-attribute-of-variables-2677"></a><a name="index-variable-attributes-2678"></a> +<p><a name="index-attribute-of-variables-2679"></a><a name="index-variable-attributes-2680"></a> The keyword <code>__attribute__</code> allows you to specify special attributes of variables or structure fields. This keyword is followed by an attribute specification inside double parentheses. Some @@ -76,7 +76,7 @@ you may use <code>__aligned__</code> instead of <code>aligned</code>. attributes. -<a name="index-g_t_0040code_007baligned_007d-attribute-2679"></a> +<a name="index-g_t_0040code_007baligned_007d-attribute-2681"></a> <dl><dt><code>aligned (</code><var>alignment</var><code>)</code><dd>This attribute specifies a minimum alignment for the variable or structure field, measured in bytes. For example, the declaration: @@ -136,7 +136,7 @@ alignment. See your linker documentation for further information. <p>The <code>aligned</code> attribute can also be used for functions (see <a href="Function-Attributes.html#Function-Attributes">Function Attributes</a>.) - <br><dt><code>cleanup (</code><var>cleanup_function</var><code>)</code><dd><a name="index-g_t_0040code_007bcleanup_007d-attribute-2680"></a>The <code>cleanup</code> attribute runs a function when the variable goes + <br><dt><code>cleanup (</code><var>cleanup_function</var><code>)</code><dd><a name="index-g_t_0040code_007bcleanup_007d-attribute-2682"></a>The <code>cleanup</code> attribute runs a function when the variable goes out of scope. This attribute can only be applied to auto function scope variables; it may not be applied to parameters or variables with static storage duration. The function must take one parameter, @@ -150,14 +150,14 @@ does not allow the exception to be caught, only to perform an action. It is undefined what happens if <var>cleanup_function</var> does not return normally. - <br><dt><code>common</code><dt><code>nocommon</code><dd><a name="index-g_t_0040code_007bcommon_007d-attribute-2681"></a><a name="index-g_t_0040code_007bnocommon_007d-attribute-2682"></a><a name="index-fcommon-2683"></a><a name="index-fno_002dcommon-2684"></a>The <code>common</code> attribute requests GCC to place a variable in + <br><dt><code>common</code><dt><code>nocommon</code><dd><a name="index-g_t_0040code_007bcommon_007d-attribute-2683"></a><a name="index-g_t_0040code_007bnocommon_007d-attribute-2684"></a><a name="index-fcommon-2685"></a><a name="index-fno_002dcommon-2686"></a>The <code>common</code> attribute requests GCC to place a variable in “common” storage. The <code>nocommon</code> attribute requests the opposite—to allocate space for it directly. <p>These attributes override the default chosen by the <samp><span class="option">-fno-common</span></samp> and <samp><span class="option">-fcommon</span></samp> flags respectively. - <br><dt><code>deprecated</code><dt><code>deprecated (</code><var>msg</var><code>)</code><dd><a name="index-g_t_0040code_007bdeprecated_007d-attribute-2685"></a>The <code>deprecated</code> attribute results in a warning if the variable + <br><dt><code>deprecated</code><dt><code>deprecated (</code><var>msg</var><code>)</code><dd><a name="index-g_t_0040code_007bdeprecated_007d-attribute-2687"></a>The <code>deprecated</code> attribute results in a warning if the variable is used anywhere in the source file. This is useful when identifying variables that are expected to be removed in a future version of a program. The warning also includes the location of the declaration @@ -176,7 +176,7 @@ present. <p>The <code>deprecated</code> attribute can also be used for functions and types (see <a href="Function-Attributes.html#Function-Attributes">Function Attributes</a>, see <a href="Type-Attributes.html#Type-Attributes">Type Attributes</a>.) - <br><dt><code>mode (</code><var>mode</var><code>)</code><dd><a name="index-g_t_0040code_007bmode_007d-attribute-2686"></a>This attribute specifies the data type for the declaration—whichever + <br><dt><code>mode (</code><var>mode</var><code>)</code><dd><a name="index-g_t_0040code_007bmode_007d-attribute-2688"></a>This attribute specifies the data type for the declaration—whichever type corresponds to the mode <var>mode</var>. This in effect lets you request an integer or floating point type according to its width. @@ -185,7 +185,7 @@ indicate the mode corresponding to a one-byte integer, ‘<samp><span class= ‘<samp><span class="samp">__word__</span></samp>’ for the mode of a one-word integer, and ‘<samp><span class="samp">pointer</span></samp>’ or ‘<samp><span class="samp">__pointer__</span></samp>’ for the mode used to represent pointers. - <br><dt><code>packed</code><dd><a name="index-g_t_0040code_007bpacked_007d-attribute-2687"></a>The <code>packed</code> attribute specifies that a variable or structure field + <br><dt><code>packed</code><dd><a name="index-g_t_0040code_007bpacked_007d-attribute-2689"></a>The <code>packed</code> attribute specifies that a variable or structure field should have the smallest possible alignment—one byte for a variable, and one bit for a field, unless you specify a larger value with the <code>aligned</code> attribute. @@ -205,7 +205,7 @@ been fixed in GCC 4.4 but the change can lead to differences in the structure layout. See the documentation of <samp><span class="option">-Wpacked-bitfield-compat</span></samp> for more information. - <br><dt><code>section ("</code><var>section-name</var><code>")</code><dd><a name="index-g_t_0040code_007bsection_007d-variable-attribute-2688"></a>Normally, the compiler places the objects it generates in sections like + <br><dt><code>section ("</code><var>section-name</var><code>")</code><dd><a name="index-g_t_0040code_007bsection_007d-variable-attribute-2690"></a>Normally, the compiler places the objects it generates in sections like <code>data</code> and <code>bss</code>. Sometimes, however, you need additional sections, or you need certain particular variables to appear in special sections, for example to map to special hardware. The <code>section</code> @@ -249,7 +249,7 @@ attribute is not available on all platforms. If you need to map the entire contents of a module to a particular section, consider using the facilities of the linker instead. - <br><dt><code>shared</code><dd><a name="index-g_t_0040code_007bshared_007d-variable-attribute-2689"></a>On Microsoft Windows, in addition to putting variable definitions in a named + <br><dt><code>shared</code><dd><a name="index-g_t_0040code_007bshared_007d-variable-attribute-2691"></a>On Microsoft Windows, in addition to putting variable definitions in a named section, the section can also be shared among all running copies of an executable or DLL. For example, this small program defines shared data by putting it in a named section <code>shared</code> and marking the section @@ -271,7 +271,7 @@ linkers work. See <code>section</code> attribute for more information. <p>The <code>shared</code> attribute is only available on Microsoft Windows. - <br><dt><code>tls_model ("</code><var>tls_model</var><code>")</code><dd><a name="index-g_t_0040code_007btls_005fmodel_007d-attribute-2690"></a>The <code>tls_model</code> attribute sets thread-local storage model + <br><dt><code>tls_model ("</code><var>tls_model</var><code>")</code><dd><a name="index-g_t_0040code_007btls_005fmodel_007d-attribute-2692"></a>The <code>tls_model</code> attribute sets thread-local storage model (see <a href="Thread_002dLocal.html#Thread_002dLocal">Thread-Local</a>) of a particular <code>__thread</code> variable, overriding <samp><span class="option">-ftls-model=</span></samp> command-line switch on a per-variable basis. @@ -345,7 +345,7 @@ compilers. <h4 class="subsection">6.36.1 AVR Variable Attributes</h4> <dl> -<dt><code>progmem</code><dd><a name="index-g_t_0040code_007bprogmem_007d-AVR-variable-attribute-2691"></a>The <code>progmem</code> attribute is used on the AVR to place read-only +<dt><code>progmem</code><dd><a name="index-g_t_0040code_007bprogmem_007d-AVR-variable-attribute-2693"></a>The <code>progmem</code> attribute is used on the AVR to place read-only data in the non-volatile program memory (flash). The <code>progmem</code> attribute accomplishes this by putting respective variables into a section whose name starts with <code>.progmem</code>. @@ -381,13 +381,13 @@ an alternate way to locate and access data in flash memory. <p>Three attributes are currently defined for the Blackfin. <dl> -<dt><code>l1_data</code><dt><code>l1_data_A</code><dt><code>l1_data_B</code><dd><a name="index-g_t_0040code_007bl1_005fdata_007d-variable-attribute-2692"></a><a name="index-g_t_0040code_007bl1_005fdata_005fA_007d-variable-attribute-2693"></a><a name="index-g_t_0040code_007bl1_005fdata_005fB_007d-variable-attribute-2694"></a>Use these attributes on the Blackfin to place the variable into L1 Data SRAM. +<dt><code>l1_data</code><dt><code>l1_data_A</code><dt><code>l1_data_B</code><dd><a name="index-g_t_0040code_007bl1_005fdata_007d-variable-attribute-2694"></a><a name="index-g_t_0040code_007bl1_005fdata_005fA_007d-variable-attribute-2695"></a><a name="index-g_t_0040code_007bl1_005fdata_005fB_007d-variable-attribute-2696"></a>Use these attributes on the Blackfin to place the variable into L1 Data SRAM. Variables with <code>l1_data</code> attribute will be put into the specific section named <code>.l1.data</code>. Those with <code>l1_data_A</code> attribute will be put into the specific section named <code>.l1.data.A</code>. Those with <code>l1_data_B</code> attribute will be put into the specific section named <code>.l1.data.B</code>. - <br><dt><code>l2</code><dd><a name="index-g_t_0040code_007bl2_007d-variable-attribute-2695"></a>Use this attribute on the Blackfin to place the variable into L2 SRAM. + <br><dt><code>l2</code><dd><a name="index-g_t_0040code_007bl2_007d-variable-attribute-2697"></a>Use this attribute on the Blackfin to place the variable into L2 SRAM. Variables with <code>l2</code> attribute will be put into the specific section named <code>.l2.data</code>. </dl> @@ -397,7 +397,7 @@ named <code>.l2.data</code>. <p>One attribute is currently defined for the M32R/D. <dl> -<dt><code>model (</code><var>model-name</var><code>)</code><dd><a name="index-variable-addressability-on-the-M32R_002fD-2696"></a>Use this attribute on the M32R/D to set the addressability of an object. +<dt><code>model (</code><var>model-name</var><code>)</code><dd><a name="index-variable-addressability-on-the-M32R_002fD-2698"></a>Use this attribute on the M32R/D to set the addressability of an object. The identifier <var>model-name</var> is one of <code>small</code>, <code>medium</code>, or <code>large</code>, representing each of the code models. @@ -463,7 +463,7 @@ address. Example: <code>ms_struct</code> and <code>gcc_struct</code> <dl> -<dt><code>ms_struct</code><dt><code>gcc_struct</code><dd><a name="index-g_t_0040code_007bms_005fstruct_007d-attribute-2697"></a><a name="index-g_t_0040code_007bgcc_005fstruct_007d-attribute-2698"></a> +<dt><code>ms_struct</code><dt><code>gcc_struct</code><dd><a name="index-g_t_0040code_007bms_005fstruct_007d-attribute-2699"></a><a name="index-g_t_0040code_007bgcc_005fstruct_007d-attribute-2700"></a> If <code>packed</code> is used on a structure, or if bit-fields are used it may be that the Microsoft ABI packs them differently than GCC would normally pack them. Particularly when moving packed @@ -601,7 +601,7 @@ documentation of this attribute please see the documentation in <code>below100</code>. <dl> -<dt><code>below100</code><dd><a name="index-g_t_0040code_007bbelow100_007d-attribute-2699"></a> +<dt><code>below100</code><dd><a name="index-g_t_0040code_007bbelow100_007d-attribute-2701"></a> If a variable has the <code>below100</code> attribute (<code>BELOW100</code> is allowed also), GCC will place the variable in the first 0x100 bytes of memory and use special opcodes to access it. Such variables will be |