| 1 | 284 | jeremybenn | @c Copyright (C) 2009
 | 
      
         | 2 |  |  | @c Free Software Foundation, Inc.
 | 
      
         | 3 |  |  | @c This is part of the GCC manual.
 | 
      
         | 4 |  |  | @c For copying conditions, see the file gcc.texi.
 | 
      
         | 5 |  |  |  
 | 
      
         | 6 |  |  | @node C++ Implementation
 | 
      
         | 7 |  |  | @chapter C++ Implementation-defined behavior
 | 
      
         | 8 |  |  | @cindex implementation-defined behavior, C++ language
 | 
      
         | 9 |  |  |  
 | 
      
         | 10 |  |  | A conforming implementation of ISO C++ is required to document its
 | 
      
         | 11 |  |  | choice of behavior in each of the areas that are designated
 | 
      
         | 12 |  |  | ``implementation defined''.  The following lists all such areas,
 | 
      
         | 13 |  |  | along with the section numbers from the ISO/IEC 14822:1998 and ISO/IEC
 | 
      
         | 14 |  |  | 14822:2003 standards.  Some areas are only implementation-defined in
 | 
      
         | 15 |  |  | one version of the standard.
 | 
      
         | 16 |  |  |  
 | 
      
         | 17 |  |  | Some choices depend on the externally determined ABI for the platform
 | 
      
         | 18 |  |  | (including standard character encodings) which GCC follows; these are
 | 
      
         | 19 |  |  | listed as ``determined by ABI'' below.  @xref{Compatibility, , Binary
 | 
      
         | 20 |  |  | Compatibility}, and @uref{http://gcc.gnu.org/readings.html}.  Some
 | 
      
         | 21 |  |  | choices are documented in the preprocessor manual.
 | 
      
         | 22 |  |  | @xref{Implementation-defined behavior, , Implementation-defined
 | 
      
         | 23 |  |  | behavior, cpp, The C Preprocessor}.  Some choices are documented in
 | 
      
         | 24 |  |  | the corresponding document for the C language.  @xref{C
 | 
      
         | 25 |  |  | Implementation}.  Some choices are made by the library and operating
 | 
      
         | 26 |  |  | system (or other environment when compiling for a freestanding
 | 
      
         | 27 |  |  | environment); refer to their documentation for details.
 | 
      
         | 28 |  |  |  
 | 
      
         | 29 |  |  | @menu
 | 
      
         | 30 |  |  | * Conditionally-supported behavior::
 | 
      
         | 31 |  |  | @end menu
 | 
      
         | 32 |  |  |  
 | 
      
         | 33 |  |  | @node Conditionally-supported behavior
 | 
      
         | 34 |  |  | @section Conditionally-supported behavior
 | 
      
         | 35 |  |  |  
 | 
      
         | 36 |  |  | @cite{Each implementation shall include documentation that identifies
 | 
      
         | 37 |  |  | all conditionally-supported constructs that it does not support (C++0x
 | 
      
         | 38 |  |  | 1.4).}
 | 
      
         | 39 |  |  |  
 | 
      
         | 40 |  |  | @itemize @bullet
 | 
      
         | 41 |  |  | @item
 | 
      
         | 42 |  |  | @cite{Whether an argument of class type with a non-trivial copy
 | 
      
         | 43 |  |  | constructor or destructor can be passed to ... (C++0x 5.2.2).}
 | 
      
         | 44 |  |  |  
 | 
      
         | 45 |  |  | Such argument passing is not supported.
 | 
      
         | 46 |  |  |  
 | 
      
         | 47 |  |  | @end itemize
 |