Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

Standards.html 21KB

3 år sedan
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  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>Standards (Using the GNU Compiler Collection (GCC))</title>
  21. <meta name="description" content="Standards (Using the GNU Compiler Collection (GCC))">
  22. <meta name="keywords" content="Standards (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="index.html#Top" rel="up" title="Top">
  30. <link href="Invoking-GCC.html#Invoking-GCC" rel="next" title="Invoking GCC">
  31. <link href="G_002b_002b-and-GCC.html#G_002b_002b-and-GCC" rel="prev" title="G++ and GCC">
  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="Standards"></a>
  62. <div class="header">
  63. <p>
  64. Next: <a href="Invoking-GCC.html#Invoking-GCC" accesskey="n" rel="next">Invoking GCC</a>, Previous: <a href="G_002b_002b-and-GCC.html#G_002b_002b-and-GCC" accesskey="p" rel="prev">G++ and GCC</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</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="Language-Standards-Supported-by-GCC"></a>
  68. <h2 class="chapter">2 Language Standards Supported by GCC</h2>
  69. <p>For each language compiled by GCC for which there is a standard, GCC
  70. attempts to follow one or more versions of that standard, possibly
  71. with some exceptions, and possibly with some extensions.
  72. </p>
  73. <a name="C-Language"></a>
  74. <h3 class="section">2.1 C Language</h3>
  75. <a name="index-C-standard"></a>
  76. <a name="index-C-standards"></a>
  77. <a name="index-ANSI-C-standard"></a>
  78. <a name="index-ANSI-C"></a>
  79. <a name="index-ANSI-C89"></a>
  80. <a name="index-C89"></a>
  81. <a name="index-ANSI-X3_002e159_002d1989"></a>
  82. <a name="index-X3_002e159_002d1989"></a>
  83. <a name="index-ISO-C-standard"></a>
  84. <a name="index-ISO-C"></a>
  85. <a name="index-ISO-C90"></a>
  86. <a name="index-ISO_002fIEC-9899"></a>
  87. <a name="index-ISO-9899"></a>
  88. <a name="index-C90"></a>
  89. <a name="index-ISO-C94"></a>
  90. <a name="index-C94"></a>
  91. <a name="index-ISO-C95"></a>
  92. <a name="index-C95"></a>
  93. <a name="index-ISO-C99"></a>
  94. <a name="index-C99"></a>
  95. <a name="index-ISO-C9X"></a>
  96. <a name="index-C9X"></a>
  97. <a name="index-ISO-C11"></a>
  98. <a name="index-C11"></a>
  99. <a name="index-ISO-C1X"></a>
  100. <a name="index-C1X"></a>
  101. <a name="index-ISO-C17"></a>
  102. <a name="index-C17"></a>
  103. <a name="index-ISO-C2X"></a>
  104. <a name="index-C2X"></a>
  105. <a name="index-Technical-Corrigenda"></a>
  106. <a name="index-TC1"></a>
  107. <a name="index-Technical-Corrigendum-1"></a>
  108. <a name="index-TC2"></a>
  109. <a name="index-Technical-Corrigendum-2"></a>
  110. <a name="index-TC3"></a>
  111. <a name="index-Technical-Corrigendum-3"></a>
  112. <a name="index-AMD1"></a>
  113. <a name="index-freestanding-implementation"></a>
  114. <a name="index-freestanding-environment"></a>
  115. <a name="index-hosted-implementation"></a>
  116. <a name="index-hosted-environment"></a>
  117. <a name="index-_005f_005fSTDC_005fHOSTED_005f_005f"></a>
  118. <a name="index-std"></a>
  119. <a name="index-ansi"></a>
  120. <a name="index-pedantic"></a>
  121. <a name="index-pedantic_002derrors"></a>
  122. <p>The original ANSI C standard (X3.159-1989) was ratified in 1989 and
  123. published in 1990. This standard was ratified as an ISO standard
  124. (ISO/IEC 9899:1990) later in 1990. There were no technical
  125. differences between these publications, although the sections of the
  126. ANSI standard were renumbered and became clauses in the ISO standard.
  127. The ANSI
  128. standard, but not the ISO standard, also came with a Rationale
  129. document.
  130. This standard, in both its forms, is commonly known as <em>C89</em>, or
  131. occasionally as <em>C90</em>, from the dates of ratification.
  132. To select this standard in GCC, use one of the options
  133. <samp>-ansi</samp>, <samp>-std=c90</samp> or <samp>-std=iso9899:1990</samp>; to obtain
  134. all the diagnostics required by the standard, you should also specify
  135. <samp>-pedantic</samp> (or <samp>-pedantic-errors</samp> if you want them to be
  136. errors rather than warnings). See <a href="C-Dialect-Options.html#C-Dialect-Options">Options
  137. Controlling C Dialect</a>.
  138. </p>
  139. <p>Errors in the 1990 ISO C standard were corrected in two Technical
  140. Corrigenda published in 1994 and 1996. GCC does not support the
  141. uncorrected version.
  142. </p>
  143. <p>An amendment to the 1990 standard was published in 1995. This
  144. amendment added digraphs and <code>__STDC_VERSION__</code> to the language,
  145. but otherwise concerned the library. This amendment is commonly known
  146. as <em>AMD1</em>; the amended standard is sometimes known as <em>C94</em> or
  147. <em>C95</em>. To select this standard in GCC, use the option
  148. <samp>-std=iso9899:199409</samp> (with, as for other standard versions,
  149. <samp>-pedantic</samp> to receive all required diagnostics).
  150. </p>
  151. <p>A new edition of the ISO C standard was published in 1999 as ISO/IEC
  152. 9899:1999, and is commonly known as <em>C99</em>. (While in
  153. development, drafts of this standard version were referred to as
  154. <em>C9X</em>.) GCC has substantially
  155. complete support for this standard version; see
  156. <a href="http://gcc.gnu.org/c99status.html">http://gcc.gnu.org/c99status.html</a> for details. To select this
  157. standard, use <samp>-std=c99</samp> or <samp>-std=iso9899:1999</samp>.
  158. </p>
  159. <p>Errors in the 1999 ISO C standard were corrected in three Technical
  160. Corrigenda published in 2001, 2004 and 2007. GCC does not support the
  161. uncorrected version.
  162. </p>
  163. <p>A fourth version of the C standard, known as <em>C11</em>, was published
  164. in 2011 as ISO/IEC 9899:2011. (While in development, drafts of this
  165. standard version were referred to as <em>C1X</em>.)
  166. GCC has substantially complete support
  167. for this standard, enabled with <samp>-std=c11</samp> or
  168. <samp>-std=iso9899:2011</samp>. A version with corrections integrated was
  169. prepared in 2017 and published in 2018 as ISO/IEC 9899:2018; it is
  170. known as <em>C17</em> and is supported with <samp>-std=c17</samp> or
  171. <samp>-std=iso9899:2017</samp>; the corrections are also applied with
  172. <samp>-std=c11</samp>, and the only difference between the options is the
  173. value of <code>__STDC_VERSION__</code>.
  174. </p>
  175. <p>A further version of the C standard, known as <em>C2X</em>, is under
  176. development; experimental and incomplete support for this is enabled
  177. with <samp>-std=c2x</samp>.
  178. </p>
  179. <p>By default, GCC provides some extensions to the C language that, on
  180. rare occasions conflict with the C standard. See <a href="C-Extensions.html#C-Extensions">Extensions to the C Language Family</a>.
  181. Some features that are part of the C99 standard
  182. are accepted as extensions in C90 mode, and some features that are part
  183. of the C11 standard are accepted as extensions in C90 and C99 modes.
  184. Use of the
  185. <samp>-std</samp> options listed above disables these extensions where
  186. they conflict with the C standard version selected. You may also
  187. select an extended version of the C language explicitly with
  188. <samp>-std=gnu90</samp> (for C90 with GNU extensions), <samp>-std=gnu99</samp>
  189. (for C99 with GNU extensions) or <samp>-std=gnu11</samp> (for C11 with GNU
  190. extensions).
  191. </p>
  192. <p>The default, if no C language dialect options are given,
  193. is <samp>-std=gnu11</samp>.
  194. </p>
  195. <p>The ISO C standard defines (in clause 4) two classes of conforming
  196. implementation. A <em>conforming hosted implementation</em> supports the
  197. whole standard including all the library facilities; a <em>conforming
  198. freestanding implementation</em> is only required to provide certain
  199. library facilities: those in <code>&lt;float.h&gt;</code>, <code>&lt;limits.h&gt;</code>,
  200. <code>&lt;stdarg.h&gt;</code>, and <code>&lt;stddef.h&gt;</code>; since AMD1, also those in
  201. <code>&lt;iso646.h&gt;</code>; since C99, also those in <code>&lt;stdbool.h&gt;</code> and
  202. <code>&lt;stdint.h&gt;</code>; and since C11, also those in <code>&lt;stdalign.h&gt;</code>
  203. and <code>&lt;stdnoreturn.h&gt;</code>. In addition, complex types, added in C99, are not
  204. required for freestanding implementations.
  205. </p>
  206. <p>The standard also defines two environments for programs, a
  207. <em>freestanding environment</em>, required of all implementations and
  208. which may not have library facilities beyond those required of
  209. freestanding implementations, where the handling of program startup
  210. and termination are implementation-defined; and a <em>hosted
  211. environment</em>, which is not required, in which all the library
  212. facilities are provided and startup is through a function <code>int
  213. main (void)</code> or <code>int main (int, char *[])</code>. An OS kernel is an example
  214. of a program running in a freestanding environment;
  215. a program using the facilities of an
  216. operating system is an example of a program running in a hosted environment.
  217. </p>
  218. <a name="index-ffreestanding"></a>
  219. <p>GCC aims towards being usable as a conforming freestanding
  220. implementation, or as the compiler for a conforming hosted
  221. implementation. By default, it acts as the compiler for a hosted
  222. implementation, defining <code>__STDC_HOSTED__</code> as <code>1</code> and
  223. presuming that when the names of ISO C functions are used, they have
  224. the semantics defined in the standard. To make it act as a conforming
  225. freestanding implementation for a freestanding environment, use the
  226. option <samp>-ffreestanding</samp>; it then defines
  227. <code>__STDC_HOSTED__</code> to <code>0</code> and does not make assumptions about the
  228. meanings of function names from the standard library, with exceptions
  229. noted below. To build an OS kernel, you may well still need to make
  230. your own arrangements for linking and startup.
  231. See <a href="C-Dialect-Options.html#C-Dialect-Options">Options Controlling C Dialect</a>.
  232. </p>
  233. <p>GCC does not provide the library facilities required only of hosted
  234. implementations, nor yet all the facilities required by C99 of
  235. freestanding implementations on all platforms.
  236. To use the facilities of a hosted
  237. environment, you need to find them elsewhere (for example, in the
  238. GNU C library). See <a href="Standard-Libraries.html#Standard-Libraries">Standard Libraries</a>.
  239. </p>
  240. <p>Most of the compiler support routines used by GCC are present in
  241. <samp>libgcc</samp>, but there are a few exceptions. GCC requires the
  242. freestanding environment provide <code>memcpy</code>, <code>memmove</code>,
  243. <code>memset</code> and <code>memcmp</code>.
  244. Finally, if <code>__builtin_trap</code> is used, and the target does
  245. not implement the <code>trap</code> pattern, then GCC emits a call
  246. to <code>abort</code>.
  247. </p>
  248. <p>For references to Technical Corrigenda, Rationale documents and
  249. information concerning the history of C that is available online, see
  250. <a href="http://gcc.gnu.org/readings.html">http://gcc.gnu.org/readings.html</a>
  251. </p>
  252. <a name="C_002b_002b-Language"></a>
  253. <h3 class="section">2.2 C++ Language</h3>
  254. <p>GCC supports the original ISO C++ standard published in 1998,
  255. and the 2011 and 2014 revisions.
  256. </p>
  257. <p>The original ISO C++ standard was published as the ISO standard (ISO/IEC
  258. 14882:1998) and amended by a Technical Corrigenda published in 2003
  259. (ISO/IEC 14882:2003). These standards are referred to as C++98 and
  260. C++03, respectively. GCC implements the majority of C++98 (<code>export</code>
  261. is a notable exception) and most of the changes in C++03. To select
  262. this standard in GCC, use one of the options <samp>-ansi</samp>,
  263. <samp>-std=c++98</samp>, or <samp>-std=c++03</samp>; to obtain all the diagnostics
  264. required by the standard, you should also specify <samp>-pedantic</samp> (or
  265. <samp>-pedantic-errors</samp> if you want them to be errors rather than
  266. warnings).
  267. </p>
  268. <p>A revised ISO C++ standard was published in 2011 as ISO/IEC
  269. 14882:2011, and is referred to as C++11; before its publication it was
  270. commonly referred to as C++0x. C++11 contains several changes to the
  271. C++ language, all of which have been implemented in GCC. For details
  272. see <a href="https://gcc.gnu.org/projects/cxx-status.html#cxx11">https://gcc.gnu.org/projects/cxx-status.html#cxx11</a>.
  273. To select this standard in GCC, use the option <samp>-std=c++11</samp>.
  274. </p>
  275. <p>Another revised ISO C++ standard was published in 2014 as ISO/IEC
  276. 14882:2014, and is referred to as C++14; before its publication it was
  277. sometimes referred to as C++1y. C++14 contains several further
  278. changes to the C++ language, all of which have been implemented in GCC.
  279. For details see <a href="https://gcc.gnu.org/projects/cxx-status.html#cxx14">https://gcc.gnu.org/projects/cxx-status.html#cxx14</a>.
  280. To select this standard in GCC, use the option <samp>-std=c++14</samp>.
  281. </p>
  282. <p>The C++ language was further revised in 2017 and ISO/IEC 14882:2017 was
  283. published. This is referred to as C++17, and before publication was
  284. often referred to as C++1z. GCC supports all the changes in the new
  285. specification. For further details see
  286. <a href="https://gcc.gnu.org/projects/cxx-status.html#cxx1z">https://gcc.gnu.org/projects/cxx-status.html#cxx1z</a>. Use the option
  287. <samp>-std=c++17</samp> to select this variant of C++.
  288. </p>
  289. <p>More information about the C++ standards is available on the ISO C++
  290. committee&rsquo;s web site at <a href="http://www.open-std.org/jtc1/sc22/wg21/">http://www.open-std.org/jtc1/sc22/wg21/</a>.
  291. </p>
  292. <p>To obtain all the diagnostics required by any of the standard versions
  293. described above you should specify <samp>-pedantic</samp>
  294. or <samp>-pedantic-errors</samp>, otherwise GCC will allow some non-ISO C++
  295. features as extensions. See <a href="Warning-Options.html#Warning-Options">Warning Options</a>.
  296. </p>
  297. <p>By default, GCC also provides some additional extensions to the C++ language
  298. that on rare occasions conflict with the C++ standard. See <a href="C_002b_002b-Dialect-Options.html#C_002b_002b-Dialect-Options">Options Controlling C++ Dialect</a>. Use of the
  299. <samp>-std</samp> options listed above disables these extensions where they
  300. they conflict with the C++ standard version selected. You may also
  301. select an extended version of the C++ language explicitly with
  302. <samp>-std=gnu++98</samp> (for C++98 with GNU extensions), or
  303. <samp>-std=gnu++11</samp> (for C++11 with GNU extensions), or
  304. <samp>-std=gnu++14</samp> (for C++14 with GNU extensions), or
  305. <samp>-std=gnu++17</samp> (for C++17 with GNU extensions).
  306. </p>
  307. <p>The default, if
  308. no C++ language dialect options are given, is <samp>-std=gnu++14</samp>.
  309. </p>
  310. <a name="Objective_002dC-and-Objective_002dC_002b_002b-Languages"></a>
  311. <h3 class="section">2.3 Objective-C and Objective-C++ Languages</h3>
  312. <a name="index-Objective_002dC-1"></a>
  313. <a name="index-Objective_002dC_002b_002b-1"></a>
  314. <p>GCC supports &ldquo;traditional&rdquo; Objective-C (also known as &ldquo;Objective-C
  315. 1.0&rdquo;) and contains support for the Objective-C exception and
  316. synchronization syntax. It has also support for a number of
  317. &ldquo;Objective-C 2.0&rdquo; language extensions, including properties, fast
  318. enumeration (only for Objective-C), method attributes and the
  319. @optional and @required keywords in protocols. GCC supports
  320. Objective-C++ and features available in Objective-C are also available
  321. in Objective-C++.
  322. </p>
  323. <p>GCC by default uses the GNU Objective-C runtime library, which is part
  324. of GCC and is not the same as the Apple/NeXT Objective-C runtime
  325. library used on Apple systems. There are a number of differences
  326. documented in this manual. The options <samp>-fgnu-runtime</samp> and
  327. <samp>-fnext-runtime</samp> allow you to switch between producing output
  328. that works with the GNU Objective-C runtime library and output that
  329. works with the Apple/NeXT Objective-C runtime library.
  330. </p>
  331. <p>There is no formal written standard for Objective-C or Objective-C++.
  332. The authoritative manual on traditional Objective-C (1.0) is
  333. &ldquo;Object-Oriented Programming and the Objective-C Language&rdquo;:
  334. <a href="http://www.gnustep.org/resources/documentation/ObjectivCBook.pdf">http://www.gnustep.org/resources/documentation/ObjectivCBook.pdf</a>
  335. is the original NeXTstep document.
  336. </p>
  337. <p>The Objective-C exception and synchronization syntax (that is, the
  338. keywords <code>@try</code>, <code>@throw</code>, <code>@catch</code>,
  339. <code>@finally</code> and <code>@synchronized</code>) is
  340. supported by GCC and is enabled with the option
  341. <samp>-fobjc-exceptions</samp>. The syntax is briefly documented in this
  342. manual and in the Objective-C 2.0 manuals from Apple.
  343. </p>
  344. <p>The Objective-C 2.0 language extensions and features are automatically
  345. enabled; they include properties (via the <code>@property</code>,
  346. <code>@synthesize</code> and
  347. <code>@dynamic keywords</code>), fast enumeration (not available in
  348. Objective-C++), attributes for methods (such as <code>deprecated</code>,
  349. <code>noreturn</code>, <code>sentinel</code>, <code>format</code>),
  350. the <code>unused</code> attribute for method arguments, the
  351. <code>@package</code> keyword for instance variables and the <code>@optional</code> and
  352. <code>@required</code> keywords in protocols. You can disable all these
  353. Objective-C 2.0 language extensions with the option
  354. <samp>-fobjc-std=objc1</samp>, which causes the compiler to recognize the
  355. same Objective-C language syntax recognized by GCC 4.0, and to produce
  356. an error if one of the new features is used.
  357. </p>
  358. <p>GCC has currently no support for non-fragile instance variables.
  359. </p>
  360. <p>The authoritative manual on Objective-C 2.0 is available from Apple:
  361. </p><ul>
  362. <li> <a href="https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html">https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html</a>
  363. </li></ul>
  364. <p>For more information concerning the history of Objective-C that is
  365. available online, see <a href="http://gcc.gnu.org/readings.html">http://gcc.gnu.org/readings.html</a>
  366. </p>
  367. <a name="Go-Language"></a>
  368. <h3 class="section">2.4 Go Language</h3>
  369. <p>As of the GCC 4.7.1 release, GCC supports the Go 1 language standard,
  370. described at <a href="https://golang.org/doc/go1">https://golang.org/doc/go1</a>.
  371. </p>
  372. <a name="HSA-Intermediate-Language-_0028HSAIL_0029"></a>
  373. <h3 class="section">2.5 HSA Intermediate Language (HSAIL)</h3>
  374. <p>GCC can compile the binary representation (BRIG) of the HSAIL text format as
  375. described in HSA Programmer&rsquo;s Reference Manual version 1.0.1. This
  376. capability is typically utilized to implement the HSA runtime API&rsquo;s HSAIL
  377. finalization extension for a gcc supported processor. HSA standards are
  378. freely available at <a href="http://www.hsafoundation.com/standards/">http://www.hsafoundation.com/standards/</a>.
  379. </p>
  380. <a name="D-language"></a>
  381. <h3 class="section">2.6 D language</h3>
  382. <p>GCC supports the D 2.0 programming language. The D language itself is
  383. currently defined by its reference implementation and supporting language
  384. specification, described at <a href="https://dlang.org/spec/spec.html">https://dlang.org/spec/spec.html</a>.
  385. </p>
  386. <a name="References-for-Other-Languages"></a>
  387. <h3 class="section">2.7 References for Other Languages</h3>
  388. <p>See <a href="http://gcc.gnu.org/onlinedocs/gnat_rm/index.html#Top">About This Guide</a> in <cite>GNAT Reference Manual</cite>, for information on standard
  389. conformance and compatibility of the Ada compiler.
  390. </p>
  391. <p>See <a href="http://gcc.gnu.org/onlinedocs/gfortran/Standards.html#Standards">Standards</a> in <cite>The GNU Fortran Compiler</cite>, for details
  392. of standards supported by GNU Fortran.
  393. </p>
  394. <hr>
  395. <div class="header">
  396. <p>
  397. Next: <a href="Invoking-GCC.html#Invoking-GCC" accesskey="n" rel="next">Invoking GCC</a>, Previous: <a href="G_002b_002b-and-GCC.html#G_002b_002b-and-GCC" accesskey="p" rel="prev">G++ and GCC</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</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>
  398. </div>
  399. </body>
  400. </html>