diff options
author | Andrew Cagney <cagney@redhat.com> | 2002-08-01 17:18:35 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2002-08-01 17:18:35 +0000 |
commit | db034ac5129e86e2dfccebe047f0ee50fd933ec9 (patch) | |
tree | 48a20cc3afa78a03ab473f5894371ed6d636f01c /gdb/doc | |
parent | e2b28d048de97e7007086f4b50617060b6690d76 (diff) | |
download | gdb-db034ac5129e86e2dfccebe047f0ee50fd933ec9.zip gdb-db034ac5129e86e2dfccebe047f0ee50fd933ec9.tar.gz gdb-db034ac5129e86e2dfccebe047f0ee50fd933ec9.tar.bz2 |
2002-08-01 Andrew Cagney <cagney@redhat.com>
* NEWS: Menion that CHILL has been made obsolete.
* gdbtypes.c (chill_varying_type): Make chill references obsolete.
* gdbserver/Makefile.in: Ditto.
* stabsread.c (read_range_type): Ditto.
* gdbtypes.h: Ditto.
* language.c (binop_type_check): Ditto.
(binop_result_type): Ditto.
(integral_type): Ditto.
(character_type): Ditto.
(string_type): Ditto.
(boolean_type): Ditto.
(structured_type): Ditto.
(lang_bool_type): Ditto.
(binop_type_check): Ditto.
* language.h (_LANG_chill): Ditto.
* dwarfread.c (set_cu_language): Ditto.
* dwarfread.c (CHILL_PRODUCER): Ditto.
* dwarfread.c (handle_producer): Ditto.
* expression.h (enum exp_opcode): Ditto.
* eval.c: Ditto for comments.
* typeprint.c (typedef_print) [_LANG_chill]: Ditto.
* expprint.c (print_subexp): Ditto.
(print_subexp): Ditto.
* valops.c (value_cast): Ditto.
(search_struct_field): Ditto.
* value.h (COERCE_VARYING_ARRAY): Ditto.
* symfile.c (init_filename_language_table): Ditto.
(add_psymbol_with_dem_name_to_list): Ditto.
* valarith.c (value_binop): Ditto.
(value_neg): Ditto.
* valops.c (value_slice): Ditto.
* symtab.h (union language_specific): Ditto.
(SYMBOL_INIT_LANGUAGE_SPECIFIC): Ditto.
(SYMBOL_DEMANGLED_NAME): Ditto.
(SYMBOL_CHILL_DEMANGLED_NAME): Ditto.
* defs.h (enum language): Ditto.
* symtab.c (got_symtab): Ditto.
* utils.c (fprintf_symbol_filtered): Ditto.
* ch-typeprint.c: Make file obsolete.
* ch-valprint.c: Make file obsolete.
* ch-lang.h: Make file obsolete.
* ch-exp.c: Make file obsolete.
* ch-lang.c: Make file obsolete.
* Makefile.in (FLAGS_TO_PASS): Do not pass CHILL or CHILLFLAGS or
CHILL_LIB.
(TARGET_FLAGS_TO_PASS): Ditto.
(CHILLFLAGS): Obsolete.
(CHILL): Obsolete.
(CHILL_FOR_TARGET): Obsolete.
(CHILL_LIB): Obsolete.
(SFILES): Remove ch-exp.c, ch-lang.c, ch-typeprint.c and
ch-valprint.c.
(HFILES_NO_SRCDIR): Remove ch-lang.h.
(COMMON_OBS): Remove ch-valprint.o, ch-typeprint.o, ch-exp.o and
ch-lang.o.
(ch-exp.o, ch-lang.o, ch-typeprint.o, ch-valprint.o): Delete
targets.
2002-08-01 Andrew Cagney <cagney@redhat.com>
* stabs.texinfo, gdb.texinfo, gdbint.texinfo: Obsolete references
to CHILL.
2002-08-01 Andrew Cagney <cagney@redhat.com>
* Makefile.in (TARGET_FLAGS_TO_PASS): Remove CHILLFLAGS, CHILL,
CHILL_FOR_TARGET and CHILL_LIB.
* configure.in (configdirs): Remove gdb.chill.
* configure: Regenerate.
* lib/gdb.exp: Obsolete references to chill.
* gdb.fortran/types.exp: Ditto.
* gdb.fortran/exprs.exp: Ditto.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 1018 | ||||
-rw-r--r-- | gdb/doc/gdbint.texinfo | 2 | ||||
-rw-r--r-- | gdb/doc/stabs.texinfo | 6 |
4 files changed, 521 insertions, 510 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index a6e1afe..5f1917c 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2002-08-01 Andrew Cagney <cagney@redhat.com> + + * stabs.texinfo, gdb.texinfo, gdbint.texinfo: Obsolete references + to CHILL. + 2002-08-01 Andrew Cagney <ac131313@redhat.com> * gdbint.texinfo (Coding): Revise section "Include Files". diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 87b15a3..5c8922f 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -194,10 +194,12 @@ You can use @value{GDBN} to debug programs written in C and C++. For more information, see @ref{Support,,Supported languages}. For more information, see @ref{C,,C and C++}. -@cindex Chill +@c OBSOLETE @cindex Chill @cindex Modula-2 -Support for Modula-2 and Chill is partial. For information on Modula-2, -see @ref{Modula-2,,Modula-2}. For information on Chill, see @ref{Chill}. +Support for Modula-2 +@c OBSOLETE and Chill +is partial. For information on Modula-2, see @ref{Modula-2,,Modula-2}. +@c OBSOLETE For information on Chill, see @ref{Chill}. @cindex Pascal Debugging Pascal programs which use sets, subranges, file variables, or @@ -7114,10 +7116,10 @@ C@t{++} source file @itemx .F Fortran source file -@item .ch -@itemx .c186 -@itemx .c286 -CHILL source file +@c OBSOLETE @item .ch +@c OBSOLETE @itemx .c186 +@c OBSOLETE @itemx .c286 +@c OBSOLETE CHILL source file @item .mod Modula-2 source file @@ -7390,7 +7392,9 @@ being set automatically by @value{GDBN}. @node Support @section Supported languages -@value{GDBN} supports C, C@t{++}, Fortran, Java, Chill, assembly, and Modula-2. +@value{GDBN} supports C, C@t{++}, Fortran, Java, +@c OBSOLETE Chill, +assembly, and Modula-2. @c This is false ... Some @value{GDBN} features may be used in expressions regardless of the language you use: the @value{GDBN} @code{@@} and @code{::} operators, @@ -7409,7 +7413,7 @@ language reference or tutorial. @menu * C:: C and C@t{++} * Modula-2:: Modula-2 -* Chill:: Chill +@c OBSOLETE * Chill:: Chill @end menu @node C @@ -8375,504 +8379,504 @@ address can be specified by an integral constant, the construct In @value{GDBN} scripts, the Modula-2 inequality operator @code{#} is interpreted as the beginning of a comment. Use @code{<>} instead. -@node Chill -@subsection Chill - -The extensions made to @value{GDBN} to support Chill only support output -from the @sc{gnu} Chill compiler. Other Chill compilers are not currently -supported, and attempting to debug executables produced by them is most -likely to give an error as @value{GDBN} reads in the executable's symbol -table. - -@c This used to say "... following Chill related topics ...", but since -@c menus are not shown in the printed manual, it would look awkward. -This section covers the Chill related topics and the features -of @value{GDBN} which support these topics. - -@menu -* How modes are displayed:: How modes are displayed -* Locations:: Locations and their accesses -* Values and their Operations:: Values and their Operations -* Chill type and range checks:: -* Chill defaults:: -@end menu - -@node How modes are displayed -@subsubsection How modes are displayed - -The Chill Datatype- (Mode) support of @value{GDBN} is directly related -with the functionality of the @sc{gnu} Chill compiler, and therefore deviates -slightly from the standard specification of the Chill language. The -provided modes are: - -@c FIXME: this @table's contents effectively disable @code by using @r -@c on every @item. So why does it need @code? -@table @code -@item @r{@emph{Discrete modes:}} -@itemize @bullet -@item -@emph{Integer Modes} which are predefined by @code{BYTE, UBYTE, INT, -UINT, LONG, ULONG}, -@item -@emph{Boolean Mode} which is predefined by @code{BOOL}, -@item -@emph{Character Mode} which is predefined by @code{CHAR}, -@item -@emph{Set Mode} which is displayed by the keyword @code{SET}. -@smallexample -(@value{GDBP}) ptype x -type = SET (karli = 10, susi = 20, fritzi = 100) -@end smallexample -If the type is an unnumbered set the set element values are omitted. -@item -@emph{Range Mode} which is displayed by -@smallexample -@code{type = <basemode>(<lower bound> : <upper bound>)} -@end smallexample -where @code{<lower bound>, <upper bound>} can be of any discrete literal -expression (e.g. set element names). -@end itemize - -@item @r{@emph{Powerset Mode:}} -A Powerset Mode is displayed by the keyword @code{POWERSET} followed by -the member mode of the powerset. The member mode can be any discrete mode. -@smallexample -(@value{GDBP}) ptype x -type = POWERSET SET (egon, hugo, otto) -@end smallexample - -@item @r{@emph{Reference Modes:}} -@itemize @bullet -@item -@emph{Bound Reference Mode} which is displayed by the keyword @code{REF} -followed by the mode name to which the reference is bound. -@item -@emph{Free Reference Mode} which is displayed by the keyword @code{PTR}. -@end itemize - -@item @r{@emph{Procedure mode}} -The procedure mode is displayed by @code{type = PROC(<parameter list>) -<return mode> EXCEPTIONS (<exception list>)}. The @code{<parameter -list>} is a list of the parameter modes. @code{<return mode>} indicates -the mode of the result of the procedure if any. The exceptionlist lists -all possible exceptions which can be raised by the procedure. - -@ignore -@item @r{@emph{Instance mode}} -The instance mode is represented by a structure, which has a static -type, and is therefore not really of interest. -@end ignore - -@item @r{@emph{Synchronization Modes:}} -@itemize @bullet -@item -@emph{Event Mode} which is displayed by -@smallexample -@code{EVENT (<event length>)} -@end smallexample -where @code{(<event length>)} is optional. -@item -@emph{Buffer Mode} which is displayed by -@smallexample -@code{BUFFER (<buffer length>)<buffer element mode>} -@end smallexample -where @code{(<buffer length>)} is optional. -@end itemize - -@item @r{@emph{Timing Modes:}} -@itemize @bullet -@item -@emph{Duration Mode} which is predefined by @code{DURATION} -@item -@emph{Absolute Time Mode} which is predefined by @code{TIME} -@end itemize - -@item @r{@emph{Real Modes:}} -Real Modes are predefined with @code{REAL} and @code{LONG_REAL}. - -@item @r{@emph{String Modes:}} -@itemize @bullet -@item -@emph{Character String Mode} which is displayed by -@smallexample -@code{CHARS(<string length>)} -@end smallexample -followed by the keyword @code{VARYING} if the String Mode is a varying -mode -@item -@emph{Bit String Mode} which is displayed by -@smallexample -@code{BOOLS(<string -length>)} -@end smallexample -@end itemize - -@item @r{@emph{Array Mode:}} -The Array Mode is displayed by the keyword @code{ARRAY(<range>)} -followed by the element mode (which may in turn be an array mode). -@smallexample -(@value{GDBP}) ptype x -type = ARRAY (1:42) - ARRAY (1:20) - SET (karli = 10, susi = 20, fritzi = 100) -@end smallexample - -@item @r{@emph{Structure Mode}} -The Structure mode is displayed by the keyword @code{STRUCT(<field -list>)}. The @code{<field list>} consists of names and modes of fields -of the structure. Variant structures have the keyword @code{CASE <field> -OF <variant fields> ESAC} in their field list. Since the current version -of the GNU Chill compiler doesn't implement tag processing (no runtime -checks of variant fields, and therefore no debugging info), the output -always displays all variant fields. -@smallexample -(@value{GDBP}) ptype str -type = STRUCT ( - as x, - bs x, - CASE bs OF - (karli): - cs a - (ott): - ds x - ESAC -) -@end smallexample -@end table - -@node Locations -@subsubsection Locations and their accesses - -A location in Chill is an object which can contain values. - -A value of a location is generally accessed by the (declared) name of -the location. The output conforms to the specification of values in -Chill programs. How values are specified -is the topic of the next section, @ref{Values and their Operations}. - -The pseudo-location @code{RESULT} (or @code{result}) can be used to -display or change the result of a currently-active procedure: - -@smallexample -set result := EXPR -@end smallexample - -@noindent -This does the same as the Chill action @code{RESULT EXPR} (which -is not available in @value{GDBN}). - -Values of reference mode locations are printed by @code{PTR(<hex -value>)} in case of a free reference mode, and by @code{(REF <reference -mode>) (<hex-value>)} in case of a bound reference. @code{<hex value>} -represents the address where the reference points to. To access the -value of the location referenced by the pointer, use the dereference -operator @samp{->}. - -Values of procedure mode locations are displayed by -@smallexample -@code{@{ PROC -(<argument modes> ) <return mode> @} <address> <name of procedure -location>} -@end smallexample -@code{<argument modes>} is a list of modes according to the parameter -specification of the procedure and @code{<address>} shows the address of -the entry point. - -@ignore -Locations of instance modes are displayed just like a structure with two -fields specifying the @emph{process type} and the @emph{copy number} of -the investigated instance location@footnote{This comes from the current -implementation of instances. They are implemented as a structure (no -na). The output should be something like @code{[<name of the process>; -<instance number>]}.}. The field names are @code{__proc_type} and -@code{__proc_copy}. - -Locations of synchronization modes are displayed like a structure with -the field name @code{__event_data} in case of a event mode location, and -like a structure with the field @code{__buffer_data} in case of a buffer -mode location (refer to previous paragraph). - -Structure Mode locations are printed by @code{[.<field name>: <value>, -...]}. The @code{<field name>} corresponds to the structure mode -definition and the layout of @code{<value>} varies depending of the mode -of the field. If the investigated structure mode location is of variant -structure mode, the variant parts of the structure are enclosed in curled -braces (@samp{@{@}}). Fields enclosed by @samp{@{,@}} are residing -on the same memory location and represent the current values of the -memory location in their specific modes. Since no tag processing is done -all variants are displayed. A variant field is printed by -@code{(<variant name>) = .<field name>: <value>}. (who implements the -stuff ???) -@smallexample -(@value{GDBP}) print str1 $4 = [.as: 0, .bs: karli, .<TAG>: { (karli) = -[.cs: []], (susi) = [.ds: susi]}] -@end smallexample -@end ignore - -Substructures of string mode-, array mode- or structure mode-values -(e.g. array slices, fields of structure locations) are accessed using -certain operations which are described in the next section, @ref{Values -and their Operations}. - -A location value may be interpreted as having a different mode using the -location conversion. This mode conversion is written as @code{<mode -name>(<location>)}. The user has to consider that the sizes of the modes -have to be equal otherwise an error occurs. Furthermore, no range -checking of the location against the destination mode is performed, and -therefore the result can be quite confusing. - -@smallexample -(@value{GDBP}) print int (s(3 up 4)) XXX TO be filled in !! XXX -@end smallexample - -@node Values and their Operations -@subsubsection Values and their Operations - -Values are used to alter locations, to investigate complex structures in -more detail or to filter relevant information out of a large amount of -data. There are several (mode dependent) operations defined which enable -such investigations. These operations are not only applicable to -constant values but also to locations, which can become quite useful -when debugging complex structures. During parsing the command line -(e.g. evaluating an expression) @value{GDBN} treats location names as -the values behind these locations. - -This section describes how values have to be specified and which -operations are legal to be used with such values. - -@table @code -@item Literal Values -Literal values are specified in the same manner as in @sc{gnu} Chill programs. -For detailed specification refer to the @sc{gnu} Chill implementation Manual -chapter 1.5. -@c FIXME: if the Chill Manual is a Texinfo documents, the above should -@c be converted to a @ref. - -@ignore -@itemize @bullet -@item -@emph{Integer Literals} are specified in the same manner as in Chill -programs (refer to the Chill Standard z200/88 chpt 5.2.4.2) -@item -@emph{Boolean Literals} are defined by @code{TRUE} and @code{FALSE}. -@item -@emph{Character Literals} are defined by @code{'<character>'}. (e.g. -@code{'M'}) -@item -@emph{Set Literals} are defined by a name which was specified in a set -mode. The value delivered by a Set Literal is the set value. This is -comparable to an enumeration in C/C@t{++} language. -@item -@emph{Emptiness Literal} is predefined by @code{NULL}. The value of the -emptiness literal delivers either the empty reference value, the empty -procedure value or the empty instance value. - -@item -@emph{Character String Literals} are defined by a sequence of characters -enclosed in single- or double quotes. If a single- or double quote has -to be part of the string literal it has to be stuffed (specified twice). -@item -@emph{Bitstring Literals} are specified in the same manner as in Chill -programs (refer z200/88 chpt 5.2.4.8). -@item -@emph{Floating point literals} are specified in the same manner as in -(gnu-)Chill programs (refer @sc{gnu} Chill implementation Manual chapter 1.5). -@end itemize -@end ignore - -@item Tuple Values -A tuple is specified by @code{<mode name>[<tuple>]}, where @code{<mode -name>} can be omitted if the mode of the tuple is unambiguous. This -unambiguity is derived from the context of a evaluated expression. -@code{<tuple>} can be one of the following: - -@itemize @bullet -@item @emph{Powerset Tuple} -@item @emph{Array Tuple} -@item @emph{Structure Tuple} -Powerset tuples, array tuples and structure tuples are specified in the -same manner as in Chill programs refer to z200/88 chpt 5.2.5. -@end itemize - -@item String Element Value -A string element value is specified by -@smallexample -@code{<string value>(<index>)} -@end smallexample -where @code{<index>} is a integer expression. It delivers a character -value which is equivalent to the character indexed by @code{<index>} in -the string. - -@item String Slice Value -A string slice value is specified by @code{<string value>(<slice -spec>)}, where @code{<slice spec>} can be either a range of integer -expressions or specified by @code{<start expr> up <size>}. -@code{<size>} denotes the number of elements which the slice contains. -The delivered value is a string value, which is part of the specified -string. - -@item Array Element Values -An array element value is specified by @code{<array value>(<expr>)} and -delivers a array element value of the mode of the specified array. - -@item Array Slice Values -An array slice is specified by @code{<array value>(<slice spec>)}, where -@code{<slice spec>} can be either a range specified by expressions or by -@code{<start expr> up <size>}. @code{<size>} denotes the number of -arrayelements the slice contains. The delivered value is an array value -which is part of the specified array. - -@item Structure Field Values -A structure field value is derived by @code{<structure value>.<field -name>}, where @code{<field name>} indicates the name of a field specified -in the mode definition of the structure. The mode of the delivered value -corresponds to this mode definition in the structure definition. - -@item Procedure Call Value -The procedure call value is derived from the return value of the -procedure@footnote{If a procedure call is used for instance in an -expression, then this procedure is called with all its side -effects. This can lead to confusing results if used carelessly.}. - -Values of duration mode locations are represented by @code{ULONG} literals. - -Values of time mode locations appear as -@smallexample -@code{TIME(<secs>:<nsecs>)} -@end smallexample - - -@ignore -This is not implemented yet: -@item Built-in Value -@noindent -The following built in functions are provided: - -@table @code -@item @code{ADDR()} -@item @code{NUM()} -@item @code{PRED()} -@item @code{SUCC()} -@item @code{ABS()} -@item @code{CARD()} -@item @code{MAX()} -@item @code{MIN()} -@item @code{SIZE()} -@item @code{UPPER()} -@item @code{LOWER()} -@item @code{LENGTH()} -@item @code{SIN()} -@item @code{COS()} -@item @code{TAN()} -@item @code{ARCSIN()} -@item @code{ARCCOS()} -@item @code{ARCTAN()} -@item @code{EXP()} -@item @code{LN()} -@item @code{LOG()} -@item @code{SQRT()} -@end table - -For a detailed description refer to the GNU Chill implementation manual -chapter 1.6. -@end ignore - -@item Zero-adic Operator Value -The zero-adic operator value is derived from the instance value for the -current active process. - -@item Expression Values -The value delivered by an expression is the result of the evaluation of -the specified expression. If there are error conditions (mode -incompatibility, etc.) the evaluation of expressions is aborted with a -corresponding error message. Expressions may be parenthesised which -causes the evaluation of this expression before any other expression -which uses the result of the parenthesised expression. The following -operators are supported by @value{GDBN}: - -@table @code -@item @code{OR, ORIF, XOR} -@itemx @code{AND, ANDIF} -@itemx @code{NOT} -Logical operators defined over operands of boolean mode. - -@item @code{=, /=} -Equality and inequality operators defined over all modes. - -@item @code{>, >=} -@itemx @code{<, <=} -Relational operators defined over predefined modes. - -@item @code{+, -} -@itemx @code{*, /, MOD, REM} -Arithmetic operators defined over predefined modes. - -@item @code{-} -Change sign operator. - -@item @code{//} -String concatenation operator. - -@item @code{()} -String repetition operator. - -@item @code{->} -Referenced location operator which can be used either to take the -address of a location (@code{->loc}), or to dereference a reference -location (@code{loc->}). - -@item @code{OR, XOR} -@itemx @code{AND} -@itemx @code{NOT} -Powerset and bitstring operators. - -@item @code{>, >=} -@itemx @code{<, <=} -Powerset inclusion operators. - -@item @code{IN} -Membership operator. -@end table -@end table - -@node Chill type and range checks -@subsubsection Chill type and range checks - -@value{GDBN} considers two Chill variables mode equivalent if the sizes -of the two modes are equal. This rule applies recursively to more -complex datatypes which means that complex modes are treated -equivalent if all element modes (which also can be complex modes like -structures, arrays, etc.) have the same size. - -Range checking is done on all mathematical operations, assignment, array -index bounds and all built in procedures. - -Strong type checks are forced using the @value{GDBN} command @code{set -check strong}. This enforces strong type and range checks on all -operations where Chill constructs are used (expressions, built in -functions, etc.) in respect to the semantics as defined in the z.200 -language specification. - -All checks can be disabled by the @value{GDBN} command @code{set check -off}. - -@ignore -@c Deviations from the Chill Standard Z200/88 -see last paragraph ? -@end ignore - -@node Chill defaults -@subsubsection Chill defaults - -If type and range checking are set automatically by @value{GDBN}, they -both default to @code{on} whenever the working language changes to -Chill. This happens regardless of whether you or @value{GDBN} -selected the working language. - -If you allow @value{GDBN} to set the language automatically, then entering -code compiled from a file whose name ends with @file{.ch} sets the -working language to Chill. @xref{Automatically, ,Having @value{GDBN} set -the language automatically}, for further details. +@c OBSOLETE @node Chill +@c OBSOLETE @subsection Chill +@c OBSOLETE +@c OBSOLETE The extensions made to @value{GDBN} to support Chill only support output +@c OBSOLETE from the @sc{gnu} Chill compiler. Other Chill compilers are not currently +@c OBSOLETE supported, and attempting to debug executables produced by them is most +@c OBSOLETE likely to give an error as @value{GDBN} reads in the executable's symbol +@c OBSOLETE table. +@c OBSOLETE +@c OBSOLETE @c This used to say "... following Chill related topics ...", but since +@c OBSOLETE @c menus are not shown in the printed manual, it would look awkward. +@c OBSOLETE This section covers the Chill related topics and the features +@c OBSOLETE of @value{GDBN} which support these topics. +@c OBSOLETE +@c OBSOLETE @menu +@c OBSOLETE * How modes are displayed:: How modes are displayed +@c OBSOLETE * Locations:: Locations and their accesses +@c OBSOLETE * Values and their Operations:: Values and their Operations +@c OBSOLETE * Chill type and range checks:: +@c OBSOLETE * Chill defaults:: +@c OBSOLETE @end menu +@c OBSOLETE +@c OBSOLETE @node How modes are displayed +@c OBSOLETE @subsubsection How modes are displayed +@c OBSOLETE +@c OBSOLETE The Chill Datatype- (Mode) support of @value{GDBN} is directly related +@c OBSOLETE with the functionality of the @sc{gnu} Chill compiler, and therefore deviates +@c OBSOLETE slightly from the standard specification of the Chill language. The +@c OBSOLETE provided modes are: +@c OBSOLETE +@c OBSOLETE @c FIXME: this @table's contents effectively disable @code by using @r +@c OBSOLETE @c on every @item. So why does it need @code? +@c OBSOLETE @table @code +@c OBSOLETE @item @r{@emph{Discrete modes:}} +@c OBSOLETE @itemize @bullet +@c OBSOLETE @item +@c OBSOLETE @emph{Integer Modes} which are predefined by @code{BYTE, UBYTE, INT, +@c OBSOLETE UINT, LONG, ULONG}, +@c OBSOLETE @item +@c OBSOLETE @emph{Boolean Mode} which is predefined by @code{BOOL}, +@c OBSOLETE @item +@c OBSOLETE @emph{Character Mode} which is predefined by @code{CHAR}, +@c OBSOLETE @item +@c OBSOLETE @emph{Set Mode} which is displayed by the keyword @code{SET}. +@c OBSOLETE @smallexample +@c OBSOLETE (@value{GDBP}) ptype x +@c OBSOLETE type = SET (karli = 10, susi = 20, fritzi = 100) +@c OBSOLETE @end smallexample +@c OBSOLETE If the type is an unnumbered set the set element values are omitted. +@c OBSOLETE @item +@c OBSOLETE @emph{Range Mode} which is displayed by +@c OBSOLETE @smallexample +@c OBSOLETE @code{type = <basemode>(<lower bound> : <upper bound>)} +@c OBSOLETE @end smallexample +@c OBSOLETE where @code{<lower bound>, <upper bound>} can be of any discrete literal +@c OBSOLETE expression (e.g. set element names). +@c OBSOLETE @end itemize +@c OBSOLETE +@c OBSOLETE @item @r{@emph{Powerset Mode:}} +@c OBSOLETE A Powerset Mode is displayed by the keyword @code{POWERSET} followed by +@c OBSOLETE the member mode of the powerset. The member mode can be any discrete mode. +@c OBSOLETE @smallexample +@c OBSOLETE (@value{GDBP}) ptype x +@c OBSOLETE type = POWERSET SET (egon, hugo, otto) +@c OBSOLETE @end smallexample +@c OBSOLETE +@c OBSOLETE @item @r{@emph{Reference Modes:}} +@c OBSOLETE @itemize @bullet +@c OBSOLETE @item +@c OBSOLETE @emph{Bound Reference Mode} which is displayed by the keyword @code{REF} +@c OBSOLETE followed by the mode name to which the reference is bound. +@c OBSOLETE @item +@c OBSOLETE @emph{Free Reference Mode} which is displayed by the keyword @code{PTR}. +@c OBSOLETE @end itemize +@c OBSOLETE +@c OBSOLETE @item @r{@emph{Procedure mode}} +@c OBSOLETE The procedure mode is displayed by @code{type = PROC(<parameter list>) +@c OBSOLETE <return mode> EXCEPTIONS (<exception list>)}. The @code{<parameter +@c OBSOLETE list>} is a list of the parameter modes. @code{<return mode>} indicates +@c OBSOLETE the mode of the result of the procedure if any. The exceptionlist lists +@c OBSOLETE all possible exceptions which can be raised by the procedure. +@c OBSOLETE +@c OBSOLETE @ignore +@c OBSOLETE @item @r{@emph{Instance mode}} +@c OBSOLETE The instance mode is represented by a structure, which has a static +@c OBSOLETE type, and is therefore not really of interest. +@c OBSOLETE @end ignore +@c OBSOLETE +@c OBSOLETE @item @r{@emph{Synchronization Modes:}} +@c OBSOLETE @itemize @bullet +@c OBSOLETE @item +@c OBSOLETE @emph{Event Mode} which is displayed by +@c OBSOLETE @smallexample +@c OBSOLETE @code{EVENT (<event length>)} +@c OBSOLETE @end smallexample +@c OBSOLETE where @code{(<event length>)} is optional. +@c OBSOLETE @item +@c OBSOLETE @emph{Buffer Mode} which is displayed by +@c OBSOLETE @smallexample +@c OBSOLETE @code{BUFFER (<buffer length>)<buffer element mode>} +@c OBSOLETE @end smallexample +@c OBSOLETE where @code{(<buffer length>)} is optional. +@c OBSOLETE @end itemize +@c OBSOLETE +@c OBSOLETE @item @r{@emph{Timing Modes:}} +@c OBSOLETE @itemize @bullet +@c OBSOLETE @item +@c OBSOLETE @emph{Duration Mode} which is predefined by @code{DURATION} +@c OBSOLETE @item +@c OBSOLETE @emph{Absolute Time Mode} which is predefined by @code{TIME} +@c OBSOLETE @end itemize +@c OBSOLETE +@c OBSOLETE @item @r{@emph{Real Modes:}} +@c OBSOLETE Real Modes are predefined with @code{REAL} and @code{LONG_REAL}. +@c OBSOLETE +@c OBSOLETE @item @r{@emph{String Modes:}} +@c OBSOLETE @itemize @bullet +@c OBSOLETE @item +@c OBSOLETE @emph{Character String Mode} which is displayed by +@c OBSOLETE @smallexample +@c OBSOLETE @code{CHARS(<string length>)} +@c OBSOLETE @end smallexample +@c OBSOLETE followed by the keyword @code{VARYING} if the String Mode is a varying +@c OBSOLETE mode +@c OBSOLETE @item +@c OBSOLETE @emph{Bit String Mode} which is displayed by +@c OBSOLETE @smallexample +@c OBSOLETE @code{BOOLS(<string +@c OBSOLETE length>)} +@c OBSOLETE @end smallexample +@c OBSOLETE @end itemize +@c OBSOLETE +@c OBSOLETE @item @r{@emph{Array Mode:}} +@c OBSOLETE The Array Mode is displayed by the keyword @code{ARRAY(<range>)} +@c OBSOLETE followed by the element mode (which may in turn be an array mode). +@c OBSOLETE @smallexample +@c OBSOLETE (@value{GDBP}) ptype x +@c OBSOLETE type = ARRAY (1:42) +@c OBSOLETE ARRAY (1:20) +@c OBSOLETE SET (karli = 10, susi = 20, fritzi = 100) +@c OBSOLETE @end smallexample +@c OBSOLETE +@c OBSOLETE @item @r{@emph{Structure Mode}} +@c OBSOLETE The Structure mode is displayed by the keyword @code{STRUCT(<field +@c OBSOLETE list>)}. The @code{<field list>} consists of names and modes of fields +@c OBSOLETE of the structure. Variant structures have the keyword @code{CASE <field> +@c OBSOLETE OF <variant fields> ESAC} in their field list. Since the current version +@c OBSOLETE of the GNU Chill compiler doesn't implement tag processing (no runtime +@c OBSOLETE checks of variant fields, and therefore no debugging info), the output +@c OBSOLETE always displays all variant fields. +@c OBSOLETE @smallexample +@c OBSOLETE (@value{GDBP}) ptype str +@c OBSOLETE type = STRUCT ( +@c OBSOLETE as x, +@c OBSOLETE bs x, +@c OBSOLETE CASE bs OF +@c OBSOLETE (karli): +@c OBSOLETE cs a +@c OBSOLETE (ott): +@c OBSOLETE ds x +@c OBSOLETE ESAC +@c OBSOLETE ) +@c OBSOLETE @end smallexample +@c OBSOLETE @end table +@c OBSOLETE +@c OBSOLETE @node Locations +@c OBSOLETE @subsubsection Locations and their accesses +@c OBSOLETE +@c OBSOLETE A location in Chill is an object which can contain values. +@c OBSOLETE +@c OBSOLETE A value of a location is generally accessed by the (declared) name of +@c OBSOLETE the location. The output conforms to the specification of values in +@c OBSOLETE Chill programs. How values are specified +@c OBSOLETE is the topic of the next section, @ref{Values and their Operations}. +@c OBSOLETE +@c OBSOLETE The pseudo-location @code{RESULT} (or @code{result}) can be used to +@c OBSOLETE display or change the result of a currently-active procedure: +@c OBSOLETE +@c OBSOLETE @smallexample +@c OBSOLETE set result := EXPR +@c OBSOLETE @end smallexample +@c OBSOLETE +@c OBSOLETE @noindent +@c OBSOLETE This does the same as the Chill action @code{RESULT EXPR} (which +@c OBSOLETE is not available in @value{GDBN}). +@c OBSOLETE +@c OBSOLETE Values of reference mode locations are printed by @code{PTR(<hex +@c OBSOLETE value>)} in case of a free reference mode, and by @code{(REF <reference +@c OBSOLETE mode>) (<hex-value>)} in case of a bound reference. @code{<hex value>} +@c OBSOLETE represents the address where the reference points to. To access the +@c OBSOLETE value of the location referenced by the pointer, use the dereference +@c OBSOLETE operator @samp{->}. +@c OBSOLETE +@c OBSOLETE Values of procedure mode locations are displayed by +@c OBSOLETE @smallexample +@c OBSOLETE @code{@{ PROC +@c OBSOLETE (<argument modes> ) <return mode> @} <address> <name of procedure +@c OBSOLETE location>} +@c OBSOLETE @end smallexample +@c OBSOLETE @code{<argument modes>} is a list of modes according to the parameter +@c OBSOLETE specification of the procedure and @code{<address>} shows the address of +@c OBSOLETE the entry point. +@c OBSOLETE +@c OBSOLETE @ignore +@c OBSOLETE Locations of instance modes are displayed just like a structure with two +@c OBSOLETE fields specifying the @emph{process type} and the @emph{copy number} of +@c OBSOLETE the investigated instance location@footnote{This comes from the current +@c OBSOLETE implementation of instances. They are implemented as a structure (no +@c OBSOLETE na). The output should be something like @code{[<name of the process>; +@c OBSOLETE <instance number>]}.}. The field names are @code{__proc_type} and +@c OBSOLETE @code{__proc_copy}. +@c OBSOLETE +@c OBSOLETE Locations of synchronization modes are displayed like a structure with +@c OBSOLETE the field name @code{__event_data} in case of a event mode location, and +@c OBSOLETE like a structure with the field @code{__buffer_data} in case of a buffer +@c OBSOLETE mode location (refer to previous paragraph). +@c OBSOLETE +@c OBSOLETE Structure Mode locations are printed by @code{[.<field name>: <value>, +@c OBSOLETE ...]}. The @code{<field name>} corresponds to the structure mode +@c OBSOLETE definition and the layout of @code{<value>} varies depending of the mode +@c OBSOLETE of the field. If the investigated structure mode location is of variant +@c OBSOLETE structure mode, the variant parts of the structure are enclosed in curled +@c OBSOLETE braces (@samp{@{@}}). Fields enclosed by @samp{@{,@}} are residing +@c OBSOLETE on the same memory location and represent the current values of the +@c OBSOLETE memory location in their specific modes. Since no tag processing is done +@c OBSOLETE all variants are displayed. A variant field is printed by +@c OBSOLETE @code{(<variant name>) = .<field name>: <value>}. (who implements the +@c OBSOLETE stuff ???) +@c OBSOLETE @smallexample +@c OBSOLETE (@value{GDBP}) print str1 $4 = [.as: 0, .bs: karli, .<TAG>: { (karli) = +@c OBSOLETE [.cs: []], (susi) = [.ds: susi]}] +@c OBSOLETE @end smallexample +@c OBSOLETE @end ignore +@c OBSOLETE +@c OBSOLETE Substructures of string mode-, array mode- or structure mode-values +@c OBSOLETE (e.g. array slices, fields of structure locations) are accessed using +@c OBSOLETE certain operations which are described in the next section, @ref{Values +@c OBSOLETE and their Operations}. +@c OBSOLETE +@c OBSOLETE A location value may be interpreted as having a different mode using the +@c OBSOLETE location conversion. This mode conversion is written as @code{<mode +@c OBSOLETE name>(<location>)}. The user has to consider that the sizes of the modes +@c OBSOLETE have to be equal otherwise an error occurs. Furthermore, no range +@c OBSOLETE checking of the location against the destination mode is performed, and +@c OBSOLETE therefore the result can be quite confusing. +@c OBSOLETE +@c OBSOLETE @smallexample +@c OBSOLETE (@value{GDBP}) print int (s(3 up 4)) XXX TO be filled in !! XXX +@c OBSOLETE @end smallexample +@c OBSOLETE +@c OBSOLETE @node Values and their Operations +@c OBSOLETE @subsubsection Values and their Operations +@c OBSOLETE +@c OBSOLETE Values are used to alter locations, to investigate complex structures in +@c OBSOLETE more detail or to filter relevant information out of a large amount of +@c OBSOLETE data. There are several (mode dependent) operations defined which enable +@c OBSOLETE such investigations. These operations are not only applicable to +@c OBSOLETE constant values but also to locations, which can become quite useful +@c OBSOLETE when debugging complex structures. During parsing the command line +@c OBSOLETE (e.g. evaluating an expression) @value{GDBN} treats location names as +@c OBSOLETE the values behind these locations. +@c OBSOLETE +@c OBSOLETE This section describes how values have to be specified and which +@c OBSOLETE operations are legal to be used with such values. +@c OBSOLETE +@c OBSOLETE @table @code +@c OBSOLETE @item Literal Values +@c OBSOLETE Literal values are specified in the same manner as in @sc{gnu} Chill programs. +@c OBSOLETE For detailed specification refer to the @sc{gnu} Chill implementation Manual +@c OBSOLETE chapter 1.5. +@c OBSOLETE @c FIXME: if the Chill Manual is a Texinfo documents, the above should +@c OBSOLETE @c be converted to a @ref. +@c OBSOLETE +@c OBSOLETE @ignore +@c OBSOLETE @itemize @bullet +@c OBSOLETE @item +@c OBSOLETE @emph{Integer Literals} are specified in the same manner as in Chill +@c OBSOLETE programs (refer to the Chill Standard z200/88 chpt 5.2.4.2) +@c OBSOLETE @item +@c OBSOLETE @emph{Boolean Literals} are defined by @code{TRUE} and @code{FALSE}. +@c OBSOLETE @item +@c OBSOLETE @emph{Character Literals} are defined by @code{'<character>'}. (e.g. +@c OBSOLETE @code{'M'}) +@c OBSOLETE @item +@c OBSOLETE @emph{Set Literals} are defined by a name which was specified in a set +@c OBSOLETE mode. The value delivered by a Set Literal is the set value. This is +@c OBSOLETE comparable to an enumeration in C/C@t{++} language. +@c OBSOLETE @item +@c OBSOLETE @emph{Emptiness Literal} is predefined by @code{NULL}. The value of the +@c OBSOLETE emptiness literal delivers either the empty reference value, the empty +@c OBSOLETE procedure value or the empty instance value. +@c OBSOLETE +@c OBSOLETE @item +@c OBSOLETE @emph{Character String Literals} are defined by a sequence of characters +@c OBSOLETE enclosed in single- or double quotes. If a single- or double quote has +@c OBSOLETE to be part of the string literal it has to be stuffed (specified twice). +@c OBSOLETE @item +@c OBSOLETE @emph{Bitstring Literals} are specified in the same manner as in Chill +@c OBSOLETE programs (refer z200/88 chpt 5.2.4.8). +@c OBSOLETE @item +@c OBSOLETE @emph{Floating point literals} are specified in the same manner as in +@c OBSOLETE (gnu-)Chill programs (refer @sc{gnu} Chill implementation Manual chapter 1.5). +@c OBSOLETE @end itemize +@c OBSOLETE @end ignore +@c OBSOLETE +@c OBSOLETE @item Tuple Values +@c OBSOLETE A tuple is specified by @code{<mode name>[<tuple>]}, where @code{<mode +@c OBSOLETE name>} can be omitted if the mode of the tuple is unambiguous. This +@c OBSOLETE unambiguity is derived from the context of a evaluated expression. +@c OBSOLETE @code{<tuple>} can be one of the following: +@c OBSOLETE +@c OBSOLETE @itemize @bullet +@c OBSOLETE @item @emph{Powerset Tuple} +@c OBSOLETE @item @emph{Array Tuple} +@c OBSOLETE @item @emph{Structure Tuple} +@c OBSOLETE Powerset tuples, array tuples and structure tuples are specified in the +@c OBSOLETE same manner as in Chill programs refer to z200/88 chpt 5.2.5. +@c OBSOLETE @end itemize +@c OBSOLETE +@c OBSOLETE @item String Element Value +@c OBSOLETE A string element value is specified by +@c OBSOLETE @smallexample +@c OBSOLETE @code{<string value>(<index>)} +@c OBSOLETE @end smallexample +@c OBSOLETE where @code{<index>} is a integer expression. It delivers a character +@c OBSOLETE value which is equivalent to the character indexed by @code{<index>} in +@c OBSOLETE the string. +@c OBSOLETE +@c OBSOLETE @item String Slice Value +@c OBSOLETE A string slice value is specified by @code{<string value>(<slice +@c OBSOLETE spec>)}, where @code{<slice spec>} can be either a range of integer +@c OBSOLETE expressions or specified by @code{<start expr> up <size>}. +@c OBSOLETE @code{<size>} denotes the number of elements which the slice contains. +@c OBSOLETE The delivered value is a string value, which is part of the specified +@c OBSOLETE string. +@c OBSOLETE +@c OBSOLETE @item Array Element Values +@c OBSOLETE An array element value is specified by @code{<array value>(<expr>)} and +@c OBSOLETE delivers a array element value of the mode of the specified array. +@c OBSOLETE +@c OBSOLETE @item Array Slice Values +@c OBSOLETE An array slice is specified by @code{<array value>(<slice spec>)}, where +@c OBSOLETE @code{<slice spec>} can be either a range specified by expressions or by +@c OBSOLETE @code{<start expr> up <size>}. @code{<size>} denotes the number of +@c OBSOLETE arrayelements the slice contains. The delivered value is an array value +@c OBSOLETE which is part of the specified array. +@c OBSOLETE +@c OBSOLETE @item Structure Field Values +@c OBSOLETE A structure field value is derived by @code{<structure value>.<field +@c OBSOLETE name>}, where @code{<field name>} indicates the name of a field specified +@c OBSOLETE in the mode definition of the structure. The mode of the delivered value +@c OBSOLETE corresponds to this mode definition in the structure definition. +@c OBSOLETE +@c OBSOLETE @item Procedure Call Value +@c OBSOLETE The procedure call value is derived from the return value of the +@c OBSOLETE procedure@footnote{If a procedure call is used for instance in an +@c OBSOLETE expression, then this procedure is called with all its side +@c OBSOLETE effects. This can lead to confusing results if used carelessly.}. +@c OBSOLETE +@c OBSOLETE Values of duration mode locations are represented by @code{ULONG} literals. +@c OBSOLETE +@c OBSOLETE Values of time mode locations appear as +@c OBSOLETE @smallexample +@c OBSOLETE @code{TIME(<secs>:<nsecs>)} +@c OBSOLETE @end smallexample +@c OBSOLETE +@c OBSOLETE +@c OBSOLETE @ignore +@c OBSOLETE This is not implemented yet: +@c OBSOLETE @item Built-in Value +@c OBSOLETE @noindent +@c OBSOLETE The following built in functions are provided: +@c OBSOLETE +@c OBSOLETE @table @code +@c OBSOLETE @item @code{ADDR()} +@c OBSOLETE @item @code{NUM()} +@c OBSOLETE @item @code{PRED()} +@c OBSOLETE @item @code{SUCC()} +@c OBSOLETE @item @code{ABS()} +@c OBSOLETE @item @code{CARD()} +@c OBSOLETE @item @code{MAX()} +@c OBSOLETE @item @code{MIN()} +@c OBSOLETE @item @code{SIZE()} +@c OBSOLETE @item @code{UPPER()} +@c OBSOLETE @item @code{LOWER()} +@c OBSOLETE @item @code{LENGTH()} +@c OBSOLETE @item @code{SIN()} +@c OBSOLETE @item @code{COS()} +@c OBSOLETE @item @code{TAN()} +@c OBSOLETE @item @code{ARCSIN()} +@c OBSOLETE @item @code{ARCCOS()} +@c OBSOLETE @item @code{ARCTAN()} +@c OBSOLETE @item @code{EXP()} +@c OBSOLETE @item @code{LN()} +@c OBSOLETE @item @code{LOG()} +@c OBSOLETE @item @code{SQRT()} +@c OBSOLETE @end table +@c OBSOLETE +@c OBSOLETE For a detailed description refer to the GNU Chill implementation manual +@c OBSOLETE chapter 1.6. +@c OBSOLETE @end ignore +@c OBSOLETE +@c OBSOLETE @item Zero-adic Operator Value +@c OBSOLETE The zero-adic operator value is derived from the instance value for the +@c OBSOLETE current active process. +@c OBSOLETE +@c OBSOLETE @item Expression Values +@c OBSOLETE The value delivered by an expression is the result of the evaluation of +@c OBSOLETE the specified expression. If there are error conditions (mode +@c OBSOLETE incompatibility, etc.) the evaluation of expressions is aborted with a +@c OBSOLETE corresponding error message. Expressions may be parenthesised which +@c OBSOLETE causes the evaluation of this expression before any other expression +@c OBSOLETE which uses the result of the parenthesised expression. The following +@c OBSOLETE operators are supported by @value{GDBN}: +@c OBSOLETE +@c OBSOLETE @table @code +@c OBSOLETE @item @code{OR, ORIF, XOR} +@c OBSOLETE @itemx @code{AND, ANDIF} +@c OBSOLETE @itemx @code{NOT} +@c OBSOLETE Logical operators defined over operands of boolean mode. +@c OBSOLETE +@c OBSOLETE @item @code{=, /=} +@c OBSOLETE Equality and inequality operators defined over all modes. +@c OBSOLETE +@c OBSOLETE @item @code{>, >=} +@c OBSOLETE @itemx @code{<, <=} +@c OBSOLETE Relational operators defined over predefined modes. +@c OBSOLETE +@c OBSOLETE @item @code{+, -} +@c OBSOLETE @itemx @code{*, /, MOD, REM} +@c OBSOLETE Arithmetic operators defined over predefined modes. +@c OBSOLETE +@c OBSOLETE @item @code{-} +@c OBSOLETE Change sign operator. +@c OBSOLETE +@c OBSOLETE @item @code{//} +@c OBSOLETE String concatenation operator. +@c OBSOLETE +@c OBSOLETE @item @code{()} +@c OBSOLETE String repetition operator. +@c OBSOLETE +@c OBSOLETE @item @code{->} +@c OBSOLETE Referenced location operator which can be used either to take the +@c OBSOLETE address of a location (@code{->loc}), or to dereference a reference +@c OBSOLETE location (@code{loc->}). +@c OBSOLETE +@c OBSOLETE @item @code{OR, XOR} +@c OBSOLETE @itemx @code{AND} +@c OBSOLETE @itemx @code{NOT} +@c OBSOLETE Powerset and bitstring operators. +@c OBSOLETE +@c OBSOLETE @item @code{>, >=} +@c OBSOLETE @itemx @code{<, <=} +@c OBSOLETE Powerset inclusion operators. +@c OBSOLETE +@c OBSOLETE @item @code{IN} +@c OBSOLETE Membership operator. +@c OBSOLETE @end table +@c OBSOLETE @end table +@c OBSOLETE +@c OBSOLETE @node Chill type and range checks +@c OBSOLETE @subsubsection Chill type and range checks +@c OBSOLETE +@c OBSOLETE @value{GDBN} considers two Chill variables mode equivalent if the sizes +@c OBSOLETE of the two modes are equal. This rule applies recursively to more +@c OBSOLETE complex datatypes which means that complex modes are treated +@c OBSOLETE equivalent if all element modes (which also can be complex modes like +@c OBSOLETE structures, arrays, etc.) have the same size. +@c OBSOLETE +@c OBSOLETE Range checking is done on all mathematical operations, assignment, array +@c OBSOLETE index bounds and all built in procedures. +@c OBSOLETE +@c OBSOLETE Strong type checks are forced using the @value{GDBN} command @code{set +@c OBSOLETE check strong}. This enforces strong type and range checks on all +@c OBSOLETE operations where Chill constructs are used (expressions, built in +@c OBSOLETE functions, etc.) in respect to the semantics as defined in the z.200 +@c OBSOLETE language specification. +@c OBSOLETE +@c OBSOLETE All checks can be disabled by the @value{GDBN} command @code{set check +@c OBSOLETE off}. +@c OBSOLETE +@c OBSOLETE @ignore +@c OBSOLETE @c Deviations from the Chill Standard Z200/88 +@c OBSOLETE see last paragraph ? +@c OBSOLETE @end ignore +@c OBSOLETE +@c OBSOLETE @node Chill defaults +@c OBSOLETE @subsubsection Chill defaults +@c OBSOLETE +@c OBSOLETE If type and range checking are set automatically by @value{GDBN}, they +@c OBSOLETE both default to @code{on} whenever the working language changes to +@c OBSOLETE Chill. This happens regardless of whether you or @value{GDBN} +@c OBSOLETE selected the working language. +@c OBSOLETE +@c OBSOLETE If you allow @value{GDBN} to set the language automatically, then entering +@c OBSOLETE code compiled from a file whose name ends with @file{.ch} sets the +@c OBSOLETE working language to Chill. @xref{Automatically, ,Having @value{GDBN} set +@c OBSOLETE the language automatically}, for further details. @node Symbols @chapter Examining the Symbol Table diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index 0336015..433844a 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -1834,7 +1834,7 @@ The file @file{mdebugread.c} implements reading for this format. DWARF 1 is a debugging format that was originally designed to be used with ELF in SVR4 systems. -@c CHILL_PRODUCER +@c OBSOLETE CHILL_PRODUCER @c GCC_PRODUCER @c GPLUS_PRODUCER @c LCC_PRODUCER diff --git a/gdb/doc/stabs.texinfo b/gdb/doc/stabs.texinfo index 52b88b4..6b4c3dc 100644 --- a/gdb/doc/stabs.texinfo +++ b/gdb/doc/stabs.texinfo @@ -1754,7 +1754,8 @@ Pascal set type. @var{type-information} must be a small type such as an enumeration or a subrange, and the type is a bitmask whose length is specified by the number of elements in @var{type-information}. -In CHILL, if it is a bitstring instead of a set, also use the @samp{S} +In CHILL, @c OBSOLETE +if it is a bitstring instead of a set, also use the @samp{S} type attribute (@pxref{String Field}). @item * @var{type-information} @@ -1955,7 +1956,8 @@ string. I don't know the difference. Pascal Stringptr. What is this? This is an AIX feature. @end table -Languages, such as CHILL which have a string type which is basically +Languages, such as CHILL @c OBSOLETE +which have a string type which is basically just an array of characters use the @samp{S} type attribute (@pxref{String Field}). |