Backwards-Compatibility.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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-2017 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 5.2, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <title>Using the GNU Compiler Collection (GCC): Backwards Compatibility</title>
  20. <meta name="description" content="Using the GNU Compiler Collection (GCC): Backwards Compatibility">
  21. <meta name="keywords" content="Using the GNU Compiler Collection (GCC): Backwards Compatibility">
  22. <meta name="resource-type" content="document">
  23. <meta name="distribution" content="global">
  24. <meta name="Generator" content="makeinfo">
  25. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  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="C_002b_002b-Extensions.html#C_002b_002b-Extensions" rel="up" title="C++ Extensions">
  30. <link href="Objective_002dC.html#Objective_002dC" rel="next" title="Objective-C">
  31. <link href="Deprecated-Features.html#Deprecated-Features" rel="prev" title="Deprecated Features">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.smallquotation {font-size: smaller}
  36. div.display {margin-left: 3.2em}
  37. div.example {margin-left: 3.2em}
  38. div.indentedblock {margin-left: 3.2em}
  39. div.lisp {margin-left: 3.2em}
  40. div.smalldisplay {margin-left: 3.2em}
  41. div.smallexample {margin-left: 3.2em}
  42. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  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.nocodebreak {white-space:nowrap}
  54. span.nolinebreak {white-space:nowrap}
  55. span.roman {font-family:serif; font-weight:normal}
  56. span.sansserif {font-family:sans-serif; font-weight:normal}
  57. ul.no-bullet {list-style: none}
  58. -->
  59. </style>
  60. </head>
  61. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  62. <a name="Backwards-Compatibility"></a>
  63. <div class="header">
  64. <p>
  65. Previous: <a href="Deprecated-Features.html#Deprecated-Features" accesskey="p" rel="prev">Deprecated Features</a>, Up: <a href="C_002b_002b-Extensions.html#C_002b_002b-Extensions" accesskey="u" rel="up">C++ Extensions</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>
  66. </div>
  67. <hr>
  68. <a name="Backwards-Compatibility-1"></a>
  69. <h3 class="section">7.12 Backwards Compatibility</h3>
  70. <a name="index-Backwards-Compatibility"></a>
  71. <a name="index-ARM-_005bAnnotated-C_002b_002b-Reference-Manual_005d"></a>
  72. <p>Now that there is a definitive ISO standard C++, G++ has a specification
  73. to adhere to. The C++ language evolved over time, and features that
  74. used to be acceptable in previous drafts of the standard, such as the ARM
  75. [Annotated C++ Reference Manual], are no longer accepted. In order to allow
  76. compilation of C++ written to such drafts, G++ contains some backwards
  77. compatibilities. <em>All such backwards compatibility features are
  78. liable to disappear in future versions of G++.</em> They should be considered
  79. deprecated. See <a href="Deprecated-Features.html#Deprecated-Features">Deprecated Features</a>.
  80. </p>
  81. <dl compact="compact">
  82. <dt><code>For scope</code></dt>
  83. <dd><p>If a variable is declared at for scope, it used to remain in scope until
  84. the end of the scope that contained the for statement (rather than just
  85. within the for scope). G++ retains this, but issues a warning, if such a
  86. variable is accessed outside the for scope.
  87. </p>
  88. </dd>
  89. <dt><code>Implicit C language</code></dt>
  90. <dd><p>Old C system header files did not contain an <code>extern &quot;C&quot; {&hellip;}</code>
  91. scope to set the language. On such systems, all header files are
  92. implicitly scoped inside a C language scope. Also, an empty prototype
  93. <code>()</code> is treated as an unspecified number of arguments, rather
  94. than no arguments, as C++ demands.
  95. </p></dd>
  96. </dl>
  97. </body>
  98. </html>