1<html lang="en"> 2<head> 3<title>Backwards Compatibility - Using the GNU Compiler Collection (GCC)</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Using the GNU Compiler Collection (GCC)"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="C_002b_002b-Extensions.html#C_002b_002b-Extensions" title="C++ Extensions"> 9<link rel="prev" href="Deprecated-Features.html#Deprecated-Features" title="Deprecated Features"> 10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 11<!-- 12Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 131998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 142010 Free Software Foundation, Inc. 15 16Permission is granted to copy, distribute and/or modify this document 17under the terms of the GNU Free Documentation License, Version 1.3 or 18any later version published by the Free Software Foundation; with the 19Invariant Sections being ``Funding Free Software'', the Front-Cover 20Texts being (a) (see below), and with the Back-Cover Texts being (b) 21(see below). A copy of the license is included in the section entitled 22``GNU Free Documentation License''. 23 24(a) The FSF's Front-Cover Text is: 25 26 A GNU Manual 27 28(b) The FSF's Back-Cover Text is: 29 30 You have freedom to copy and modify this GNU Manual, like GNU 31 software. Copies published by the Free Software Foundation raise 32 funds for GNU development.--> 33<meta http-equiv="Content-Style-Type" content="text/css"> 34<style type="text/css"><!-- 35 pre.display { font-family:inherit } 36 pre.format { font-family:inherit } 37 pre.smalldisplay { font-family:inherit; font-size:smaller } 38 pre.smallformat { font-family:inherit; font-size:smaller } 39 pre.smallexample { font-size:smaller } 40 pre.smalllisp { font-size:smaller } 41 span.sc { font-variant:small-caps } 42 span.roman { font-family:serif; font-weight:normal; } 43 span.sansserif { font-family:sans-serif; font-weight:normal; } 44--></style> 45<link rel="stylesheet" type="text/css" href="../cs.css"> 46</head> 47<body> 48<div class="node"> 49<a name="Backwards-Compatibility"></a> 50<p> 51Previous: <a rel="previous" accesskey="p" href="Deprecated-Features.html#Deprecated-Features">Deprecated Features</a>, 52Up: <a rel="up" accesskey="u" href="C_002b_002b-Extensions.html#C_002b_002b-Extensions">C++ Extensions</a> 53<hr> 54</div> 55 56<h3 class="section">7.12 Backwards Compatibility</h3> 57 58<p><a name="index-Backwards-Compatibility-3287"></a><a name="index-ARM-_005bAnnotated-C_002b_002b-Reference-Manual_005d-3288"></a> 59Now that there is a definitive ISO standard C++, G++ has a specification 60to adhere to. The C++ language evolved over time, and features that 61used to be acceptable in previous drafts of the standard, such as the ARM 62[Annotated C++ Reference Manual], are no longer accepted. In order to allow 63compilation of C++ written to such drafts, G++ contains some backwards 64compatibilities. <em>All such backwards compatibility features are 65liable to disappear in future versions of G++.</em> They should be considered 66deprecated. See <a href="Deprecated-Features.html#Deprecated-Features">Deprecated Features</a>. 67 68 <dl> 69<dt><code>For scope</code><dd>If a variable is declared at for scope, it used to remain in scope until 70the end of the scope which contained the for statement (rather than just 71within the for scope). G++ retains this, but issues a warning, if such a 72variable is accessed outside the for scope. 73 74 <br><dt><code>Implicit C language</code><dd>Old C system header files did not contain an <code>extern "C" {...}</code> 75scope to set the language. On such systems, all header files are 76implicitly scoped inside a C language scope. Also, an empty prototype 77<code>()</code> will be treated as an unspecified number of arguments, rather 78than no arguments, as C++ demands. 79</dl> 80 81<!-- Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, --> 82<!-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2010 --> 83<!-- Free Software Foundation, Inc. --> 84<!-- This is part of the GCC manual. --> 85<!-- For copying conditions, see the file gcc.texi. --> 86 </body></html> 87 88