toolchain/gcc-linaro-6.3.1-2017.02-x8.../share/doc/gcc/H8_002f300-Function-Attribu...

115 lines
5.2 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
Texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below). A copy of the license is included in the section entitled
"GNU Free Documentation License".
(a) The FSF's Front-Cover Text is:
A GNU Manual
(b) The FSF's Back-Cover Text is:
You have freedom to copy and modify this GNU Manual, like GNU
software. Copies published by the Free Software Foundation raise
funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using the GNU Compiler Collection (GCC): H8/300 Function Attributes</title>
<meta name="description" content="Using the GNU Compiler Collection (GCC): H8/300 Function Attributes">
<meta name="keywords" content="Using the GNU Compiler Collection (GCC): H8/300 Function Attributes">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Function-Attributes.html#Function-Attributes" rel="up" title="Function Attributes">
<link href="IA_002d64-Function-Attributes.html#IA_002d64-Function-Attributes" rel="next" title="IA-64 Function Attributes">
<link href="Epiphany-Function-Attributes.html#Epiphany-Function-Attributes" rel="prev" title="Epiphany Function Attributes">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="H8_002f300-Function-Attributes"></a>
<div class="header">
<p>
Next: <a href="IA_002d64-Function-Attributes.html#IA_002d64-Function-Attributes" accesskey="n" rel="next">IA-64 Function Attributes</a>, Previous: <a href="Epiphany-Function-Attributes.html#Epiphany-Function-Attributes" accesskey="p" rel="prev">Epiphany Function Attributes</a>, Up: <a href="Function-Attributes.html#Function-Attributes" accesskey="u" rel="up">Function Attributes</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="H8_002f300-Function-Attributes-1"></a>
<h4 class="subsection">6.31.9 H8/300 Function Attributes</h4>
<p>These function attributes are available for H8/300 targets:
</p>
<dl compact="compact">
<dt><code>function_vector</code></dt>
<dd><a name="index-function_005fvector-function-attribute_002c-H8_002f300"></a>
<p>Use this attribute on the H8/300, H8/300H, and H8S to indicate
that the specified function should be called through the function vector.
Calling a function through the function vector reduces code size; however,
the function vector has a limited size (maximum 128 entries on the H8/300
and 64 entries on the H8/300H and H8S)
and shares space with the interrupt vector.
</p>
</dd>
<dt><code>interrupt_handler</code></dt>
<dd><a name="index-interrupt_005fhandler-function-attribute_002c-H8_002f300"></a>
<p>Use this attribute on the H8/300, H8/300H, and H8S to
indicate that the specified function is an interrupt handler. The compiler
generates function entry and exit sequences suitable for use in an
interrupt handler when this attribute is present.
</p>
</dd>
<dt><code>saveall</code></dt>
<dd><a name="index-saveall-function-attribute_002c-H8_002f300"></a>
<a name="index-save-all-registers-on-the-H8_002f300_002c-H8_002f300H_002c-and-H8S"></a>
<p>Use this attribute on the H8/300, H8/300H, and H8S to indicate that
all registers except the stack pointer should be saved in the prologue
regardless of whether they are used or not.
</p></dd>
</dl>
</body>
</html>