You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

C_002dSKY-Function-Attributes.html 5.1KB

3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Funding Free Software", the Front-Cover
  8. Texts being (a) (see below), and with the Back-Cover Texts being (b)
  9. (see below). A copy of the license is included in the section entitled
  10. "GNU Free Documentation License".
  11. (a) The FSF's Front-Cover Text is:
  12. A GNU Manual
  13. (b) The FSF's Back-Cover Text is:
  14. You have freedom to copy and modify this GNU Manual, like GNU
  15. software. Copies published by the Free Software Foundation raise
  16. funds for GNU development. -->
  17. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <title>C-SKY Function Attributes (Using the GNU Compiler Collection (GCC))</title>
  21. <meta name="description" content="C-SKY Function Attributes (Using the GNU Compiler Collection (GCC))">
  22. <meta name="keywords" content="C-SKY Function Attributes (Using the GNU Compiler Collection (GCC))">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <link href="index.html#Top" rel="start" title="Top">
  27. <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
  28. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  29. <link href="Function-Attributes.html#Function-Attributes" rel="up" title="Function Attributes">
  30. <link href="Epiphany-Function-Attributes.html#Epiphany-Function-Attributes" rel="next" title="Epiphany Function Attributes">
  31. <link href="CR16-Function-Attributes.html#CR16-Function-Attributes" rel="prev" title="CR16 Function Attributes">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.indentedblock {margin-right: 0em}
  36. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  37. blockquote.smallquotation {font-size: smaller}
  38. div.display {margin-left: 3.2em}
  39. div.example {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smalllisp {margin-left: 3.2em}
  44. kbd {font-style: oblique}
  45. pre.display {font-family: inherit}
  46. pre.format {font-family: inherit}
  47. pre.menu-comment {font-family: serif}
  48. pre.menu-preformatted {font-family: serif}
  49. pre.smalldisplay {font-family: inherit; font-size: smaller}
  50. pre.smallexample {font-size: smaller}
  51. pre.smallformat {font-family: inherit; font-size: smaller}
  52. pre.smalllisp {font-size: smaller}
  53. span.nolinebreak {white-space: nowrap}
  54. span.roman {font-family: initial; font-weight: normal}
  55. span.sansserif {font-family: sans-serif; font-weight: normal}
  56. ul.no-bullet {list-style: none}
  57. -->
  58. </style>
  59. </head>
  60. <body lang="en">
  61. <a name="C_002dSKY-Function-Attributes"></a>
  62. <div class="header">
  63. <p>
  64. Next: <a href="Epiphany-Function-Attributes.html#Epiphany-Function-Attributes" accesskey="n" rel="next">Epiphany Function Attributes</a>, Previous: <a href="CR16-Function-Attributes.html#CR16-Function-Attributes" accesskey="p" rel="prev">CR16 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>
  65. </div>
  66. <hr>
  67. <a name="C_002dSKY-Function-Attributes-1"></a>
  68. <h4 class="subsection">6.33.10 C-SKY Function Attributes</h4>
  69. <p>These function attributes are supported by the C-SKY back end:
  70. </p>
  71. <dl compact="compact">
  72. <dt><code>interrupt</code></dt>
  73. <dt><code>isr</code></dt>
  74. <dd><a name="index-interrupt-function-attribute_002c-C_002dSKY"></a>
  75. <a name="index-isr-function-attribute_002c-C_002dSKY"></a>
  76. <p>Use these attributes to indicate that the specified function
  77. is an interrupt handler.
  78. The compiler generates function entry and exit sequences suitable for
  79. use in an interrupt handler when either of these attributes are present.
  80. </p>
  81. <p>Use of these options requires the <samp>-mistack</samp> command-line option
  82. to enable support for the necessary interrupt stack instructions. They
  83. are ignored with a warning otherwise. See <a href="C_002dSKY-Options.html#C_002dSKY-Options">C-SKY Options</a>.
  84. </p>
  85. </dd>
  86. <dt><code>naked</code></dt>
  87. <dd><a name="index-naked-function-attribute_002c-C_002dSKY"></a>
  88. <p>This attribute allows the compiler to construct the
  89. requisite function declaration, while allowing the body of the
  90. function to be assembly code. The specified function will not have
  91. prologue/epilogue sequences generated by the compiler. Only basic
  92. <code>asm</code> statements can safely be included in naked functions
  93. (see <a href="Basic-Asm.html#Basic-Asm">Basic Asm</a>). While using extended <code>asm</code> or a mixture of
  94. basic <code>asm</code> and C code may appear to work, they cannot be
  95. depended upon to work reliably and are not supported.
  96. </p></dd>
  97. </dl>
  98. </body>
  99. </html>