2004-02-12 Elena Zannoni <ezannoni@redhat.com>
* gdb.texinfo: Properly quote the name "C++". * gdbint.texinfo: Ditto. * stabs.texinfo: Ditto.
This commit is contained in:
parent
31687c3c25
commit
49efadf5a0
|
@ -1,3 +1,9 @@
|
||||||
|
2004-02-12 Elena Zannoni <ezannoni@redhat.com>
|
||||||
|
|
||||||
|
* gdb.texinfo: Properly quote the name "C++".
|
||||||
|
* gdbint.texinfo: Ditto.
|
||||||
|
* stabs.texinfo: Ditto.
|
||||||
|
|
||||||
2004-02-11 Elena Zannoni <ezannoni@redhat.com>
|
2004-02-11 Elena Zannoni <ezannoni@redhat.com>
|
||||||
|
|
||||||
* gdbint.texinfo (Support Libraries): Add doco about obstacks and
|
* gdbint.texinfo (Support Libraries): Add doco about obstacks and
|
||||||
|
|
|
@ -192,7 +192,7 @@ Change things in your program, so you can experiment with correcting the
|
||||||
effects of one bug and go on to learn about another.
|
effects of one bug and go on to learn about another.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
You can use @value{GDBN} to debug programs written in C and C++.
|
You can use @value{GDBN} to debug programs written in C and C@t{++}.
|
||||||
For more information, see @ref{Support,,Supported languages}.
|
For more information, see @ref{Support,,Supported languages}.
|
||||||
For more information, see @ref{C,,C and C++}.
|
For more information, see @ref{C,,C and C++}.
|
||||||
|
|
||||||
|
@ -6371,7 +6371,7 @@ character.
|
||||||
@node Macros
|
@node Macros
|
||||||
@chapter C Preprocessor Macros
|
@chapter C Preprocessor Macros
|
||||||
|
|
||||||
Some languages, such as C and C++, provide a way to define and invoke
|
Some languages, such as C and C@t{++}, provide a way to define and invoke
|
||||||
``preprocessor macros'' which expand into strings of tokens.
|
``preprocessor macros'' which expand into strings of tokens.
|
||||||
@value{GDBN} can evaluate expressions containing macro invocations, show
|
@value{GDBN} can evaluate expressions containing macro invocations, show
|
||||||
the result of macro expansion, and show a macro's definition, including
|
the result of macro expansion, and show a macro's definition, including
|
||||||
|
@ -9925,7 +9925,7 @@ Some embedded operating systems, like Sun Chorus and VxWorks, can load
|
||||||
relocatable files into an already running program; such systems
|
relocatable files into an already running program; such systems
|
||||||
typically make the requirements above easy to meet. However, it's
|
typically make the requirements above easy to meet. However, it's
|
||||||
important to recognize that many native systems use complex link
|
important to recognize that many native systems use complex link
|
||||||
procedures (@code{.linkonce} section factoring and C++ constructor table
|
procedures (@code{.linkonce} section factoring and C@t{++} constructor table
|
||||||
assembly, for example) that make the requirements difficult to meet. In
|
assembly, for example) that make the requirements difficult to meet. In
|
||||||
general, one cannot assume that using @code{add-symbol-file} to read a
|
general, one cannot assume that using @code{add-symbol-file} to read a
|
||||||
relocatable object file's symbolic information will have the same effect
|
relocatable object file's symbolic information will have the same effect
|
||||||
|
|
|
@ -6497,7 +6497,7 @@ intelligibility.
|
||||||
This is the base testsuite. The tests in it should apply to all
|
This is the base testsuite. The tests in it should apply to all
|
||||||
configurations of @value{GDBN} (but generic native-only tests may live here).
|
configurations of @value{GDBN} (but generic native-only tests may live here).
|
||||||
The test programs should be in the subset of C that is valid K&R,
|
The test programs should be in the subset of C that is valid K&R,
|
||||||
ANSI/ISO, and C++ (@code{#ifdef}s are allowed if necessary, for instance
|
ANSI/ISO, and C@t{++} (@code{#ifdef}s are allowed if necessary, for instance
|
||||||
for prototypes).
|
for prototypes).
|
||||||
|
|
||||||
@item gdb.@var{lang}
|
@item gdb.@var{lang}
|
||||||
|
|
|
@ -252,10 +252,10 @@ There is an AIX extension for type attributes. Following the @samp{=}
|
||||||
are any number of type attributes. Each one starts with @samp{@@} and
|
are any number of type attributes. Each one starts with @samp{@@} and
|
||||||
ends with @samp{;}. Debuggers, including AIX's dbx and GDB 4.10, skip
|
ends with @samp{;}. Debuggers, including AIX's dbx and GDB 4.10, skip
|
||||||
any type attributes they do not recognize. GDB 4.9 and other versions
|
any type attributes they do not recognize. GDB 4.9 and other versions
|
||||||
of dbx may not do this. Because of a conflict with C++
|
of dbx may not do this. Because of a conflict with C@t{++}
|
||||||
(@pxref{Cplusplus}), new attributes should not be defined which begin
|
(@pxref{Cplusplus}), new attributes should not be defined which begin
|
||||||
with a digit, @samp{(}, or @samp{-}; GDB may be unable to distinguish
|
with a digit, @samp{(}, or @samp{-}; GDB may be unable to distinguish
|
||||||
those from the C++ type descriptor @samp{@@}. The attributes are:
|
those from the C@t{++} type descriptor @samp{@@}. The attributes are:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item a@var{boundary}
|
@item a@var{boundary}
|
||||||
|
@ -430,7 +430,7 @@ Some compilers (for example, GCC2 and SunOS4 @file{/bin/cc}) also
|
||||||
include the directory in which the source was compiled, in a second
|
include the directory in which the source was compiled, in a second
|
||||||
@code{N_SO} symbol preceding the one containing the file name. This
|
@code{N_SO} symbol preceding the one containing the file name. This
|
||||||
symbol can be distinguished by the fact that it ends in a slash. Code
|
symbol can be distinguished by the fact that it ends in a slash. Code
|
||||||
from the @code{cfront} C++ compiler can have additional @code{N_SO} symbols for
|
from the @code{cfront} C@t{++} compiler can have additional @code{N_SO} symbols for
|
||||||
nonexistent source files after the @code{N_SO} for the real source file;
|
nonexistent source files after the @code{N_SO} for the real source file;
|
||||||
these are believed to contain no useful information.
|
these are believed to contain no useful information.
|
||||||
|
|
||||||
|
@ -1765,7 +1765,7 @@ Another way is with the @samp{x} type descriptor, which is followed by
|
||||||
@samp{s} for a structure tag, @samp{u} for a union tag, or @samp{e} for
|
@samp{s} for a structure tag, @samp{u} for a union tag, or @samp{e} for
|
||||||
a enumerator tag, followed by the name of the tag, followed by @samp{:}.
|
a enumerator tag, followed by the name of the tag, followed by @samp{:}.
|
||||||
If the name contains @samp{::} between a @samp{<} and @samp{>} pair (for
|
If the name contains @samp{::} between a @samp{<} and @samp{>} pair (for
|
||||||
C++ templates), such a @samp{::} does not end the name---only a single
|
C@t{++} templates), such a @samp{::} does not end the name---only a single
|
||||||
@samp{:} ends the name; see @ref{Nested Symbols}.
|
@samp{:} ends the name; see @ref{Nested Symbols}.
|
||||||
|
|
||||||
For example, the following C declarations:
|
For example, the following C declarations:
|
||||||
|
@ -2062,13 +2062,13 @@ The @code{s_next} field is a pointer to the same kind of structure that
|
||||||
the field is an element of. So the definition of structure type 16
|
the field is an element of. So the definition of structure type 16
|
||||||
contains a type definition for an element which is a pointer to type 16.
|
contains a type definition for an element which is a pointer to type 16.
|
||||||
|
|
||||||
If a field is a static member (this is a C++ feature in which a single
|
If a field is a static member (this is a C@t{++} feature in which a single
|
||||||
variable appears to be a field of every structure of a given type) it
|
variable appears to be a field of every structure of a given type) it
|
||||||
still starts out with the field name, a colon, and the type, but then
|
still starts out with the field name, a colon, and the type, but then
|
||||||
instead of a comma, bit position, comma, and bit size, there is a colon
|
instead of a comma, bit position, comma, and bit size, there is a colon
|
||||||
followed by the name of the variable which each such field refers to.
|
followed by the name of the variable which each such field refers to.
|
||||||
|
|
||||||
If the structure has methods (a C++ feature), they follow the non-method
|
If the structure has methods (a C@t{++} feature), they follow the non-method
|
||||||
fields; see @ref{Cplusplus}.
|
fields; see @ref{Cplusplus}.
|
||||||
|
|
||||||
@node Typedefs
|
@node Typedefs
|
||||||
|
@ -2389,7 +2389,7 @@ Symnum n_type n_othr n_desc n_value n_strx String
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@node Cplusplus
|
@node Cplusplus
|
||||||
@chapter GNU C++ Stabs
|
@chapter GNU C@t{++} Stabs
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Class Names:: C++ class names are both tags and typedefs.
|
* Class Names:: C++ class names are both tags and typedefs.
|
||||||
|
@ -2409,9 +2409,9 @@ Symnum n_type n_othr n_desc n_value n_strx String
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Class Names
|
@node Class Names
|
||||||
@section C++ Class Names
|
@section C@t{++} Class Names
|
||||||
|
|
||||||
In C++, a class name which is declared with @code{class}, @code{struct},
|
In C@t{++}, a class name which is declared with @code{class}, @code{struct},
|
||||||
or @code{union}, is not only a tag, as in C, but also a type name. Thus
|
or @code{union}, is not only a tag, as in C, but also a type name. Thus
|
||||||
there should be stabs with both @samp{t} and @samp{T} symbol descriptors
|
there should be stabs with both @samp{t} and @samp{T} symbol descriptors
|
||||||
(@pxref{Typedefs}).
|
(@pxref{Typedefs}).
|
||||||
|
@ -2420,7 +2420,7 @@ To save space, there is a special abbreviation for this case. If the
|
||||||
@samp{T} symbol descriptor is followed by @samp{t}, then the stab
|
@samp{T} symbol descriptor is followed by @samp{t}, then the stab
|
||||||
defines both a type name and a tag.
|
defines both a type name and a tag.
|
||||||
|
|
||||||
For example, the C++ code
|
For example, the C@t{++} code
|
||||||
|
|
||||||
@example
|
@example
|
||||||
struct foo @{int x;@};
|
struct foo @{int x;@};
|
||||||
|
@ -2442,7 +2442,7 @@ or
|
||||||
@node Nested Symbols
|
@node Nested Symbols
|
||||||
@section Defining a Symbol Within Another Type
|
@section Defining a Symbol Within Another Type
|
||||||
|
|
||||||
In C++, a symbol (such as a type name) can be defined within another type.
|
In C@t{++}, a symbol (such as a type name) can be defined within another type.
|
||||||
@c FIXME: Needs example.
|
@c FIXME: Needs example.
|
||||||
|
|
||||||
In stabs, this is sometimes represented by making the name of a symbol
|
In stabs, this is sometimes represented by making the name of a symbol
|
||||||
|
@ -2457,12 +2457,12 @@ then @code{foo::bar::baz} is the name of the symbol, @samp{t} is the
|
||||||
symbol descriptor, and @samp{5=*6} is the type information.
|
symbol descriptor, and @samp{5=*6} is the type information.
|
||||||
|
|
||||||
@node Basic Cplusplus Types
|
@node Basic Cplusplus Types
|
||||||
@section Basic Types For C++
|
@section Basic Types For C@t{++}
|
||||||
|
|
||||||
<< the examples that follow are based on a01.C >>
|
<< the examples that follow are based on a01.C >>
|
||||||
|
|
||||||
|
|
||||||
C++ adds two more builtin types to the set defined for C. These are
|
C@t{++} adds two more builtin types to the set defined for C. These are
|
||||||
the unknown type and the vtable record type. The unknown type, type
|
the unknown type and the vtable record type. The unknown type, type
|
||||||
16, is defined in terms of itself like the void type.
|
16, is defined in terms of itself like the void type.
|
||||||
|
|
||||||
|
@ -2473,7 +2473,7 @@ pfn, and delta2. pfn is the function pointer.
|
||||||
<< In boilerplate $vtbl_ptr_type, what are the fields delta,
|
<< In boilerplate $vtbl_ptr_type, what are the fields delta,
|
||||||
index, and delta2 used for? >>
|
index, and delta2 used for? >>
|
||||||
|
|
||||||
This basic type is present in all C++ programs even if there are no
|
This basic type is present in all C@t{++} programs even if there are no
|
||||||
virtual methods defined.
|
virtual methods defined.
|
||||||
|
|
||||||
@display
|
@display
|
||||||
|
@ -2503,8 +2503,8 @@ virtual methods defined.
|
||||||
@node Simple Classes
|
@node Simple Classes
|
||||||
@section Simple Class Definition
|
@section Simple Class Definition
|
||||||
|
|
||||||
The stabs describing C++ language features are an extension of the
|
The stabs describing C@t{++} language features are an extension of the
|
||||||
stabs describing C. Stabs representing C++ class types elaborate
|
stabs describing C. Stabs representing C@t{++} class types elaborate
|
||||||
extensively on the stab format used to describe structure types in C.
|
extensively on the stab format used to describe structure types in C.
|
||||||
Stabs representing class type variables look just like stabs
|
Stabs representing class type variables look just like stabs
|
||||||
representing C language variables.
|
representing C language variables.
|
||||||
|
@ -2526,20 +2526,20 @@ stab is not located between an @code{N_FUN} and an @code{N_LBRAC} stab this indi
|
||||||
that the class is defined at file scope. If it were, then the @code{N_LSYM}
|
that the class is defined at file scope. If it were, then the @code{N_LSYM}
|
||||||
would signify a local variable.
|
would signify a local variable.
|
||||||
|
|
||||||
A stab describing a C++ class type is similar in format to a stab
|
A stab describing a C@t{++} class type is similar in format to a stab
|
||||||
describing a C struct, with each class member shown as a field in the
|
describing a C struct, with each class member shown as a field in the
|
||||||
structure. The part of the struct format describing fields is
|
structure. The part of the struct format describing fields is
|
||||||
expanded to include extra information relevant to C++ class members.
|
expanded to include extra information relevant to C@t{++} class members.
|
||||||
In addition, if the class has multiple base classes or virtual
|
In addition, if the class has multiple base classes or virtual
|
||||||
functions the struct format outside of the field parts is also
|
functions the struct format outside of the field parts is also
|
||||||
augmented.
|
augmented.
|
||||||
|
|
||||||
In this simple example the field part of the C++ class stab
|
In this simple example the field part of the C@t{++} class stab
|
||||||
representing member data looks just like the field part of a C struct
|
representing member data looks just like the field part of a C struct
|
||||||
stab. The section on protections describes how its format is
|
stab. The section on protections describes how its format is
|
||||||
sometimes extended for member data.
|
sometimes extended for member data.
|
||||||
|
|
||||||
The field part of a C++ class stab representing a member function
|
The field part of a C@t{++} class stab representing a member function
|
||||||
differs substantially from the field part of a C struct stab. It
|
differs substantially from the field part of a C struct stab. It
|
||||||
still begins with @samp{name:} but then goes on to define a new type number
|
still begins with @samp{name:} but then goes on to define a new type number
|
||||||
for the member function, describe its return type, its argument types,
|
for the member function, describe its return type, its argument types,
|
||||||
|
@ -2566,7 +2566,7 @@ occur in the @var{operator-name} string.
|
||||||
The next part of the method description represents the arguments to the
|
The next part of the method description represents the arguments to the
|
||||||
method, preceded by a colon and ending with a semi-colon. The types of
|
method, preceded by a colon and ending with a semi-colon. The types of
|
||||||
the arguments are expressed in the same way argument types are expressed
|
the arguments are expressed in the same way argument types are expressed
|
||||||
in C++ name mangling. In this example an @code{int} and a @code{char}
|
in C@t{++} name mangling. In this example an @code{int} and a @code{char}
|
||||||
map to @samp{ic}.
|
map to @samp{ic}.
|
||||||
|
|
||||||
This is followed by a number, a letter, and an asterisk or period,
|
This is followed by a number, a letter, and an asterisk or period,
|
||||||
|
@ -2600,7 +2600,7 @@ information present for virtual methods.
|
||||||
@node Class Instance
|
@node Class Instance
|
||||||
@section Class Instance
|
@section Class Instance
|
||||||
|
|
||||||
As shown above, describing even a simple C++ class definition is
|
As shown above, describing even a simple C@t{++} class definition is
|
||||||
accomplished by massively extending the stab format used in C to
|
accomplished by massively extending the stab format used in C to
|
||||||
describe structure types. However, once the class is defined, C stabs
|
describe structure types. However, once the class is defined, C stabs
|
||||||
with no modifications can be used to describe class instances. The
|
with no modifications can be used to describe class instances. The
|
||||||
|
@ -2627,7 +2627,7 @@ different from a standard C stab describing a local variable.
|
||||||
@node Methods
|
@node Methods
|
||||||
@section Method Definition
|
@section Method Definition
|
||||||
|
|
||||||
The class definition shown above declares Ameth. The C++ source below
|
The class definition shown above declares Ameth. The C@t{++} source below
|
||||||
defines Ameth:
|
defines Ameth:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
|
@ -2723,7 +2723,7 @@ descriptor for a pointer-to-non-static-member-data type. It is followed
|
||||||
by type information for the class (or union), a comma, and type
|
by type information for the class (or union), a comma, and type
|
||||||
information for the member data.
|
information for the member data.
|
||||||
|
|
||||||
The following C++ source:
|
The following C@t{++} source:
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
typedef int A::*int_in_a;
|
typedef int A::*int_in_a;
|
||||||
|
@ -2737,7 +2737,7 @@ generates the following stab:
|
||||||
|
|
||||||
Note that there is a conflict between this and type attributes
|
Note that there is a conflict between this and type attributes
|
||||||
(@pxref{String Field}); both use type descriptor @samp{@@}.
|
(@pxref{String Field}); both use type descriptor @samp{@@}.
|
||||||
Fortunately, the @samp{@@} type descriptor used in this C++ sense always
|
Fortunately, the @samp{@@} type descriptor used in this C@t{++} sense always
|
||||||
will be followed by a digit, @samp{(}, or @samp{-}, and type attributes
|
will be followed by a digit, @samp{(}, or @samp{-}, and type attributes
|
||||||
never start with those things.
|
never start with those things.
|
||||||
|
|
||||||
|
@ -2747,7 +2747,7 @@ never start with those things.
|
||||||
In the simple class definition shown above all member data and
|
In the simple class definition shown above all member data and
|
||||||
functions were publicly accessible. The example that follows
|
functions were publicly accessible. The example that follows
|
||||||
contrasts public, protected and privately accessible fields and shows
|
contrasts public, protected and privately accessible fields and shows
|
||||||
how these protections are encoded in C++ stabs.
|
how these protections are encoded in C@t{++} stabs.
|
||||||
|
|
||||||
If the character following the @samp{@var{field-name}:} part of the
|
If the character following the @samp{@var{field-name}:} part of the
|
||||||
string is @samp{/}, then the next character is the visibility. @samp{0}
|
string is @samp{/}, then the next character is the visibility. @samp{0}
|
||||||
|
@ -2761,7 +2761,7 @@ an optimized out field with a private or protected visibility).
|
||||||
Visibility @samp{9} is not supported by GDB 4.11; this should be fixed
|
Visibility @samp{9} is not supported by GDB 4.11; this should be fixed
|
||||||
in the next GDB release.
|
in the next GDB release.
|
||||||
|
|
||||||
The following C++ source:
|
The following C@t{++} source:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
class vis @{
|
class vis @{
|
||||||
|
@ -2791,7 +2791,7 @@ type float (@samp{12}), and offset and size @samp{,64,32;}.
|
||||||
|
|
||||||
Protections for member functions are signified by one digit embedded in
|
Protections for member functions are signified by one digit embedded in
|
||||||
the field part of the stab describing the method. The digit is 0 if
|
the field part of the stab describing the method. The digit is 0 if
|
||||||
private, 1 if protected and 2 if public. Consider the C++ class
|
private, 1 if protected and 2 if public. Consider the C@t{++} class
|
||||||
definition below:
|
definition below:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
|
@ -2889,7 +2889,7 @@ struct is @samp{Adat}, an integer, starting at structure offset 0 and
|
||||||
occupying 32 bits.
|
occupying 32 bits.
|
||||||
|
|
||||||
The second field in the class struct is not explicitly defined by the
|
The second field in the class struct is not explicitly defined by the
|
||||||
C++ class definition but is implied by the fact that the class
|
C@t{++} class definition but is implied by the fact that the class
|
||||||
contains a virtual method. This field is the vtable pointer. The
|
contains a virtual method. This field is the vtable pointer. The
|
||||||
name of the vtable pointer field starts with @samp{$vf} and continues with a
|
name of the vtable pointer field starts with @samp{$vf} and continues with a
|
||||||
type reference to the class it is part of. In this example the type
|
type reference to the class it is part of. In this example the type
|
||||||
|
@ -2901,7 +2901,7 @@ This is in turn defined as a pointer to another new type (22).
|
||||||
|
|
||||||
Type 22 is the vtable itself, which is defined as an array, indexed by
|
Type 22 is the vtable itself, which is defined as an array, indexed by
|
||||||
a range of integers between 0 and 1, and whose elements are of type
|
a range of integers between 0 and 1, and whose elements are of type
|
||||||
17. Type 17 was the vtable record type defined by the boilerplate C++
|
17. Type 17 was the vtable record type defined by the boilerplate C@t{++}
|
||||||
type definitions, as shown earlier.
|
type definitions, as shown earlier.
|
||||||
|
|
||||||
The bit offset of the vtable pointer field is 32. The number of bits
|
The bit offset of the vtable pointer field is 32. The number of bits
|
||||||
|
@ -2955,7 +2955,7 @@ class. This is preceded by @samp{~%} and followed by a final semi-colon.
|
||||||
@node Inheritance
|
@node Inheritance
|
||||||
@section Inheritance
|
@section Inheritance
|
||||||
|
|
||||||
Stabs describing C++ derived classes include additional sections that
|
Stabs describing C@t{++} derived classes include additional sections that
|
||||||
describe the inheritance hierarchy of the class. A derived class stab
|
describe the inheritance hierarchy of the class. A derived class stab
|
||||||
also encodes the number of base classes. For each base class it tells
|
also encodes the number of base classes. For each base class it tells
|
||||||
if the base class is virtual or not, and if the inheritance is private
|
if the base class is virtual or not, and if the inheritance is private
|
||||||
|
@ -3286,13 +3286,13 @@ GNU Modula2 definition module dependency; see @ref{N_DEFD}.
|
||||||
Function start/body/end line numbers (Solaris2).
|
Function start/body/end line numbers (Solaris2).
|
||||||
|
|
||||||
@item 0x50 N_EHDECL
|
@item 0x50 N_EHDECL
|
||||||
GNU C++ exception variable; see @ref{N_EHDECL}.
|
GNU C@t{++} exception variable; see @ref{N_EHDECL}.
|
||||||
|
|
||||||
@item 0x50 N_MOD2
|
@item 0x50 N_MOD2
|
||||||
Modula2 info "for imc" (according to Ultrix V4.0); see @ref{N_MOD2}.
|
Modula2 info "for imc" (according to Ultrix V4.0); see @ref{N_MOD2}.
|
||||||
|
|
||||||
@item 0x54 N_CATCH
|
@item 0x54 N_CATCH
|
||||||
GNU C++ @code{catch} clause; see @ref{N_CATCH}.
|
GNU C@t{++} @code{catch} clause; see @ref{N_CATCH}.
|
||||||
|
|
||||||
@item 0x60 N_SSYM
|
@item 0x60 N_SSYM
|
||||||
Structure of union element; see @ref{N_SSYM}.
|
Structure of union element; see @ref{N_SSYM}.
|
||||||
|
@ -3386,7 +3386,7 @@ for more information about their use.
|
||||||
Variable on the stack; see @ref{Stack Variables}.
|
Variable on the stack; see @ref{Stack Variables}.
|
||||||
|
|
||||||
@item :
|
@item :
|
||||||
C++ nested symbol; see @xref{Nested Symbols}.
|
C@t{++} nested symbol; see @xref{Nested Symbols}.
|
||||||
|
|
||||||
@item a
|
@item a
|
||||||
Parameter passed by reference in register; see @ref{Reference Parameters}.
|
Parameter passed by reference in register; see @ref{Reference Parameters}.
|
||||||
|
@ -3399,7 +3399,7 @@ Constant; see @ref{Constants}.
|
||||||
|
|
||||||
@item C
|
@item C
|
||||||
Conformant array bound (Pascal, maybe other languages); @ref{Conformant
|
Conformant array bound (Pascal, maybe other languages); @ref{Conformant
|
||||||
Arrays}. Name of a caught exception (GNU C++). These can be
|
Arrays}. Name of a caught exception (GNU C@t{++}). These can be
|
||||||
distinguished because the latter uses @code{N_CATCH} and the former uses
|
distinguished because the latter uses @code{N_CATCH} and the former uses
|
||||||
another symbol type.
|
another symbol type.
|
||||||
|
|
||||||
|
@ -3500,17 +3500,17 @@ Type reference; see @ref{String Field}.
|
||||||
Reference to builtin type; see @ref{Negative Type Numbers}.
|
Reference to builtin type; see @ref{Negative Type Numbers}.
|
||||||
|
|
||||||
@item #
|
@item #
|
||||||
Method (C++); see @ref{Method Type Descriptor}.
|
Method (C@t{++}); see @ref{Method Type Descriptor}.
|
||||||
|
|
||||||
@item *
|
@item *
|
||||||
Pointer; see @ref{Miscellaneous Types}.
|
Pointer; see @ref{Miscellaneous Types}.
|
||||||
|
|
||||||
@item &
|
@item &
|
||||||
Reference (C++).
|
Reference (C@t{++}).
|
||||||
|
|
||||||
@item @@
|
@item @@
|
||||||
Type Attributes (AIX); see @ref{String Field}. Member (class and variable)
|
Type Attributes (AIX); see @ref{String Field}. Member (class and variable)
|
||||||
type (GNU C++); see @ref{Member Type Descriptor}.
|
type (GNU C@t{++}); see @ref{Member Type Descriptor}.
|
||||||
|
|
||||||
@item a
|
@item a
|
||||||
Array; see @ref{Arrays}.
|
Array; see @ref{Arrays}.
|
||||||
|
@ -3615,7 +3615,7 @@ Wide character; see @ref{Builtin Type Descriptors}.
|
||||||
Cross-reference; see @ref{Cross-References}.
|
Cross-reference; see @ref{Cross-References}.
|
||||||
|
|
||||||
@item Y
|
@item Y
|
||||||
Used by IBM's xlC C++ compiler (for structures, I think).
|
Used by IBM's xlC C@t{++} compiler (for structures, I think).
|
||||||
|
|
||||||
@item z
|
@item z
|
||||||
gstring; see @ref{Strings}.
|
gstring; see @ref{Strings}.
|
||||||
|
@ -3757,7 +3757,7 @@ if it is imported with the GNU M2 keyword @code{%INITIALIZE}. Perhaps
|
||||||
|
|
||||||
@deffn @code{.stabs} N_EHDECL
|
@deffn @code{.stabs} N_EHDECL
|
||||||
@findex N_EHDECL
|
@findex N_EHDECL
|
||||||
GNU C++ exception variable <<?>>.
|
GNU C@t{++} exception variable <<?>>.
|
||||||
|
|
||||||
"@var{string} is variable name"
|
"@var{string} is variable name"
|
||||||
|
|
||||||
|
@ -3779,9 +3779,9 @@ Note: conflicts with @code{N_EHDECL} <<?>>
|
||||||
|
|
||||||
@deffn @code{.stabn} N_CATCH
|
@deffn @code{.stabn} N_CATCH
|
||||||
@findex N_CATCH
|
@findex N_CATCH
|
||||||
GNU C++ @code{catch} clause
|
GNU C@t{++} @code{catch} clause
|
||||||
|
|
||||||
GNU C++ @code{catch} clause. The value is its address. The desc field
|
GNU C@t{++} @code{catch} clause. The value is its address. The desc field
|
||||||
is nonzero if this entry is immediately followed by a @code{CAUGHT} stab
|
is nonzero if this entry is immediately followed by a @code{CAUGHT} stab
|
||||||
saying what exception was caught. Multiple @code{CAUGHT} stabs means
|
saying what exception was caught. Multiple @code{CAUGHT} stabs means
|
||||||
that multiple exceptions can be caught here. If desc is 0, it means all
|
that multiple exceptions can be caught here. If desc is 0, it means all
|
||||||
|
|
Loading…
Reference in New Issue