diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/doc/trouble.texi | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 32ed90e..914fdd4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-09-04 Janis Johnson <janis187@us.ibm.com> + + * doc/trouble.texi (Interoperation): Update information about C++ ABI + issues. + 2002-09-04 Jason Thorpe <thorpej@wasabisystems.com> * config/sparc/t-netbsd64: Disable multilib for now. diff --git a/gcc/doc/trouble.texi b/gcc/doc/trouble.texi index 3efca1f..446fccc 100644 --- a/gcc/doc/trouble.texi +++ b/gcc/doc/trouble.texi @@ -105,11 +105,13 @@ libraries and debuggers on certain systems. @itemize @bullet @item -G++ does not do name mangling in the same way as other C++ -compilers. This means that object files compiled with one compiler -cannot be used with another. +On many platforms, GCC supports a different ABI for C++ than do other +compilers, so the object files compiled by GCC cannot be used with object +files generated by another C++ compiler. -This effect is intentional, to protect you from more subtle problems. +An area where the difference is most apparent is name mangling. The use +of different name mangling is intentional, to protect you from more subtle +problems. Compilers differ as to many internal details of C++ implementation, including: how class instances are laid out, how multiple inheritance is implemented, and how virtual function calls are handled. If the name |