blob: 7d54a5573776c6b1c20299ea97e871a6e551d7ef [file] [log] [blame]
<html lang="en">
<head>
<title>Backwards Compatibility - Using the GNU Compiler Collection (GCC)</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using the GNU Compiler Collection (GCC)">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="C_002b_002b-Extensions.html#C_002b_002b-Extensions" title="C++ Extensions">
<link rel="prev" href="Deprecated-Features.html#Deprecated-Features" title="Deprecated Features">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2008 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.2 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.-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Backwards-Compatibility"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Deprecated-Features.html#Deprecated-Features">Deprecated Features</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="C_002b_002b-Extensions.html#C_002b_002b-Extensions">C++ Extensions</a>
<hr>
</div>
<h3 class="section">7.12 Backwards Compatibility</h3>
<p><a name="index-Backwards-Compatibility-3191"></a><a name="index-ARM-_005bAnnotated-C_002b_002b-Reference-Manual_005d-3192"></a>
Now that there is a definitive ISO standard C++, G++ has a specification
to adhere to. The C++ language evolved over time, and features that
used to be acceptable in previous drafts of the standard, such as the ARM
[Annotated C++ Reference Manual], are no longer accepted. In order to allow
compilation of C++ written to such drafts, G++ contains some backwards
compatibilities. <em>All such backwards compatibility features are
liable to disappear in future versions of G++.</em> They should be considered
deprecated. See <a href="Deprecated-Features.html#Deprecated-Features">Deprecated Features</a>.
<dl>
<dt><code>For scope</code><dd>If a variable is declared at for scope, it used to remain in scope until
the end of the scope which contained the for statement (rather than just
within the for scope). G++ retains this, but issues a warning, if such a
variable is accessed outside the for scope.
<br><dt><code>Implicit C language</code><dd>Old C system header files did not contain an <code>extern "C" {...}</code>
scope to set the language. On such systems, all header files are
implicitly scoped inside a C language scope. Also, an empty prototype
<code>()</code> will be treated as an unspecified number of arguments, rather
than no arguments, as C++ demands.
</dl>
<!-- Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -->
<!-- 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -->
<!-- This is part of the GCC manual. -->
<!-- For copying conditions, see the file gcc.texi. -->
</body></html>