summaryrefslogtreecommitdiff
path: root/devdocs/gcc~13/s_002f390-function-attributes.html
diff options
context:
space:
mode:
Diffstat (limited to 'devdocs/gcc~13/s_002f390-function-attributes.html')
-rw-r--r--devdocs/gcc~13/s_002f390-function-attributes.html13
1 files changed, 13 insertions, 0 deletions
diff --git a/devdocs/gcc~13/s_002f390-function-attributes.html b/devdocs/gcc~13/s_002f390-function-attributes.html
new file mode 100644
index 00000000..60358e85
--- /dev/null
+++ b/devdocs/gcc~13/s_002f390-function-attributes.html
@@ -0,0 +1,13 @@
+<div class="subsection-level-extent" id="S_002f390-Function-Attributes"> <div class="nav-panel"> <p> Next: <a href="sh-function-attributes" accesskey="n" rel="next">SH Function Attributes</a>, Previous: <a href="rx-function-attributes" accesskey="p" rel="prev">RX Function Attributes</a>, Up: <a href="function-attributes" accesskey="u" rel="up">Declaring Attributes of Functions</a> [<a href="index#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="indices" title="Index" rel="index">Index</a>]</p> </div> <h1 class="subsection" id="S_002f390-Function-Attributes-1"><span>6.33.28 S/390 Function Attributes<a class="copiable-link" href="#S_002f390-Function-Attributes-1"> ¶</a></span></h1> <p>These function attributes are supported on the S/390: </p> <dl class="table"> <dt>
+<span><code class="code">hotpatch (<var class="var">halfwords-before-function-label</var>,<var class="var">halfwords-after-function-label</var>)</code><a class="copiable-link" href="#index-hotpatch-function-attribute_002c-S_002f390"> ¶</a></span>
+</dt> <dd> <p>On S/390 System z targets, you can use this function attribute to make GCC generate a “hot-patching” function prologue. If the <samp class="option">-mhotpatch=</samp> command-line option is used at the same time, the <code class="code">hotpatch</code> attribute takes precedence. The first of the two arguments specifies the number of halfwords to be added before the function label. A second argument can be used to specify the number of halfwords to be added after the function label. For both arguments the maximum allowed value is 1000000. </p> <p>If both arguments are zero, hotpatching is disabled. </p> </dd> <dt>
+<span><code class="code">target (<var class="var">options</var>)</code><a class="copiable-link" href="#index-target-function-attribute-4"> ¶</a></span>
+</dt> <dd>
+<p>As discussed in <a class="ref" href="common-function-attributes">Common Function Attributes</a>, this attribute allows specification of target-specific compilation options. </p> <p>On S/390, the following options are supported: </p> <dl class="table"> <dt>‘<samp class="samp">arch=</samp>’</dt> <dt>‘<samp class="samp">tune=</samp>’</dt> <dt>‘<samp class="samp">stack-guard=</samp>’</dt> <dt>‘<samp class="samp">stack-size=</samp>’</dt> <dt>‘<samp class="samp">branch-cost=</samp>’</dt> <dt>‘<samp class="samp">warn-framesize=</samp>’</dt> <dt>‘<samp class="samp">backchain</samp>’</dt> <dt>‘<samp class="samp">no-backchain</samp>’</dt> <dt>‘<samp class="samp">hard-dfp</samp>’</dt> <dt>‘<samp class="samp">no-hard-dfp</samp>’</dt> <dt>‘<samp class="samp">hard-float</samp>’</dt> <dt>‘<samp class="samp">soft-float</samp>’</dt> <dt>‘<samp class="samp">htm</samp>’</dt> <dt>‘<samp class="samp">no-htm</samp>’</dt> <dt>‘<samp class="samp">vx</samp>’</dt> <dt>‘<samp class="samp">no-vx</samp>’</dt> <dt>‘<samp class="samp">packed-stack</samp>’</dt> <dt>‘<samp class="samp">no-packed-stack</samp>’</dt> <dt>‘<samp class="samp">small-exec</samp>’</dt> <dt>‘<samp class="samp">no-small-exec</samp>’</dt> <dt>‘<samp class="samp">mvcle</samp>’</dt> <dt>‘<samp class="samp">no-mvcle</samp>’</dt> <dt>‘<samp class="samp">warn-dynamicstack</samp>’</dt> <dt>‘<samp class="samp">no-warn-dynamicstack</samp>’</dt> </dl> <p>The options work exactly like the S/390 specific command line options (without the prefix <samp class="option">-m</samp>) except that they do not change any feature macros. For example, </p> <div class="example smallexample"> <pre class="example-preformatted" data-language="cpp"><code class="code">target("no-vx")</code></pre>
+</div> <p>does not undefine the <code class="code">__VEC__</code> macro. </p>
+</dd> </dl> </div><div class="_attribution">
+ <p class="_attribution-p">
+ &copy; Free Software Foundation<br>Licensed under the GNU Free Documentation License, Version 1.3.<br>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/S_002f390-Function-Attributes.html" class="_attribution-link">https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/S_002f390-Function-Attributes.html</a>
+ </p>
+</div>