C++ Implementation-defined behavior. GNU GCC
Reklāma
Reklāma
Chapter 5: C++ Implementation-defined behavior 289
5 C++ Implementation-defined behavior
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 14822:1998 and ISO/IEC
14822: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.
See
Chapter 9 [Binary Compatibility], page 611
, and http://gcc.gnu.org/readings.html
. Some choices are documented in the preprocessor manual. See Section “Implementation-defined behavior” in The C Preprocessor . Some choices are documented in the corresponding document for the C language. See
. 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.
5.1 Conditionally-supported behavior
Each implementation shall include documentation that identifies all conditionally-supported constructs that it does not support (C++0x 1.4).
• 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 not supported.
5.2 Exception handling
• 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.
Lejupielādēt
Reklāma