]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst
sphinx: add missing trailing newline
[thirdparty/gcc.git] / gcc / doc / gcc / extensions-to-the-c++-language / backwards-compatibility.rst
CommitLineData
c63539ff
ML
1..
2 Copyright 1988-2022 Free Software Foundation, Inc.
3 This is part of the GCC manual.
4 For copying conditions, see the copyright.rst file.
5
6.. index:: Backwards Compatibility, ARM [Annotated C++ Reference Manual]
7
8.. _backwards-compatibility:
9
10Backwards Compatibility
11***********************
12
13Now that there is a definitive ISO standard C++, G++ has a specification
14to adhere to. The C++ language evolved over time, and features that
15used to be acceptable in previous drafts of the standard, such as the ARM
16[Annotated C++ Reference Manual], are no longer accepted. In order to allow
17compilation of C++ written to such drafts, G++ contains some backwards
18compatibilities. *All such backwards compatibility features are
19liable to disappear in future versions of G++.* They should be considered
20deprecated. See :ref:`deprecated-features`.
21
22``Implicit C language``
23 Old C system header files did not contain an ``extern "C" {...}``
24 scope to set the language. On such systems, all system header files are
25 implicitly scoped inside a C language scope. Such headers must
26 correctly prototype function argument types, there is no leeway for
3ed1b4ce 27 ``()`` to indicate an unspecified set of arguments.