123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- @c Copyright (C) 2009-2015 Free Software Foundation, Inc.
- @c This is part of the GCC manual.
- @c For copying conditions, see the file gcc.texi.
- @node C++ Implementation
- @chapter C++ Implementation-Defined Behavior
- @cindex implementation-defined behavior, C++ language
- A conforming implementation of ISO C++ is required to document its
- choice of behavior in each of the areas that are designated
- ``implementation defined''. The following lists all such areas,
- along with the section numbers from the ISO/IEC 14882:1998 and ISO/IEC
- 14882:2003 standards. Some areas are only implementation-defined in
- one version of the standard.
- Some choices depend on the externally determined ABI for the platform
- (including standard character encodings) which GCC follows; these are
- listed as ``determined by ABI'' below. @xref{Compatibility, , Binary
- Compatibility}, and @uref{http://gcc.gnu.org/readings.html}. Some
- choices are documented in the preprocessor manual.
- @xref{Implementation-defined behavior, , Implementation-defined
- behavior, cpp, The C Preprocessor}. Some choices are documented in
- the corresponding document for the C language. @xref{C
- Implementation}. Some choices are made by the library and operating
- system (or other environment when compiling for a freestanding
- environment); refer to their documentation for details.
- @menu
- * Conditionally-supported behavior::
- * Exception handling::
- @end menu
- @node Conditionally-supported behavior
- @section Conditionally-Supported Behavior
- @cite{Each implementation shall include documentation that identifies
- all conditionally-supported constructs that it does not support (C++0x
- 1.4).}
- @itemize @bullet
- @item
- @cite{Whether an argument of class type with a non-trivial copy
- constructor or destructor can be passed to ... (C++0x 5.2.2).}
- Such argument passing is supported, using the same
- pass-by-invisible-reference approach used for normal function
- arguments of such types.
- @end itemize
- @node Exception handling
- @section Exception Handling
- @itemize @bullet
- @item
- @cite{In the situation where no matching handler is found, it is
- implementation-defined whether or not the stack is unwound before
- std::terminate() is called (C++98 15.5.1).}
- The stack is not unwound before std::terminate is called.
- @end itemize
|