Deleted Added
full compact
trouble.texi (90075) trouble.texi (103445)
1@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2@c 1999, 2000, 2001 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 Trouble
7@chapter Known Causes of Trouble with GCC
8@cindex bugs, known

--- 91 unchanged lines hidden (view full) ---

100@section Interoperation
101
102This section lists various difficulties encountered in using GCC
103together with other compilers or with the assemblers, linkers,
104libraries and debuggers on certain systems.
105
106@itemize @bullet
107@item
1@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2@c 1999, 2000, 2001 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 Trouble
7@chapter Known Causes of Trouble with GCC
8@cindex bugs, known

--- 91 unchanged lines hidden (view full) ---

100@section Interoperation
101
102This section lists various difficulties encountered in using GCC
103together with other compilers or with the assemblers, linkers,
104libraries and debuggers on certain systems.
105
106@itemize @bullet
107@item
108G++ does not do name mangling in the same way as other C++
109compilers. This means that object files compiled with one compiler
110cannot be used with another.
108On many platforms, GCC supports a different ABI for C++ than do other
109compilers, so the object files compiled by GCC cannot be used with object
110files generated by another C++ compiler.
111
111
112This effect is intentional, to protect you from more subtle problems.
112An area where the difference is most apparent is name mangling. The use
113of different name mangling is intentional, to protect you from more subtle
114problems.
113Compilers differ as to many internal details of C++ implementation,
114including: how class instances are laid out, how multiple inheritance is
115implemented, and how virtual function calls are handled. If the name
116encoding were made the same, your programs would link against libraries
117provided from other compilers---but the programs would then crash when
118run. Incompatible libraries are then detected at link time, rather than
119at run time.
120

--- 1342 unchanged lines hidden ---
115Compilers differ as to many internal details of C++ implementation,
116including: how class instances are laid out, how multiple inheritance is
117implemented, and how virtual function calls are handled. If the name
118encoding were made the same, your programs would link against libraries
119provided from other compilers---but the programs would then crash when
120run. Incompatible libraries are then detected at link time, rather than
121at run time.
122

--- 1342 unchanged lines hidden ---