From: Roland Pesch Date: Sat, 17 Jul 1993 01:57:50 +0000 (+0000) Subject: Introduce MOD2 switch to segregate material on Modula-2; eventually X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=09934a2b2ec9cbcbc8b1b9189e8a1c6f25e8f1de;p=binutils-gdb.git Introduce MOD2 switch to segregate material on Modula-2; eventually each supported language should be controlled by a separate switch, and CONLY should be retired. --- diff --git a/gdb/doc/all-cfg.texi b/gdb/doc/all-cfg.texi index 022807c0297..8811bb30f8b 100644 --- a/gdb/doc/all-cfg.texi +++ b/gdb/doc/all-cfg.texi @@ -57,7 +57,14 @@ @clear BARETARGET @c @c Restrict languages discussed to C? +@c This is backward. As time permits, change this to language-specific +@c switches for what to include. @clear CONLY +@c Discuss Fortran? +@set FORTRAN +@c +@c Discuss Modula 2? +@set MOD2 @c @c Specifically for host machine running DOS? @clear DOSHOST diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index d07cedea2c8..bb239b11b84 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -202,8 +202,16 @@ effects of one bug and go on to learn about another. @end itemize @ifclear CONLY -You can use @value{GDBN} to debug programs written in C, C++, and Modula-2. +@ifclear MOD2 +You can use @value{GDBN} to debug programs written in C or C++. +@end ifclear +@ifset MOD2 +You can use @value{GDBN} to debug programs written in C, C++, and +Modula-2. +@end ifset +@ifset FORTRAN Fortran support will be added when a GNU Fortran compiler is ready. +@end ifset @end ifclear @menu @@ -298,9 +306,11 @@ contributed remote debugging modules for their products. Brian Fox is the author of the readline libraries providing command-line editing and command history. -Andrew Beers of SUNY Buffalo wrote the language-switching code and -the Modula-2 support, and contributed the Languages chapter of this -manual. +Andrew Beers of SUNY Buffalo wrote the language-switching code, +@ifset MOD2 +the Modula-2 support, +@end ifset +and contributed the Languages chapter of this manual. Fred Fish wrote most of the support for Unix System Vr4. @ifclear CONLY @@ -368,6 +378,7 @@ handling, with the commands @code{catch} and @code{info catch}: GDB can break when an exception is raised, before the stack is peeled back to the exception handler's context. +@ifset MOD2 @item Modula-2 GDB now has preliminary support for the GNU Modula-2 compiler, currently under development at the State University of New York at Buffalo. @@ -375,6 +386,7 @@ Coordinated development of both GDB and the GNU Modula-2 compiler will continue. Other Modula-2 compilers are currently not supported, and attempting to debug programs compiled with them will likely result in an error as the symbol table of the executable is read in. +@end ifset @item Command Rationalization Many GDB commands have been renamed to make them easier to remember @@ -4682,12 +4694,14 @@ available at all. @chapter Using @value{GDBN} with Different Languages @cindex languages +@ifset MOD2 Although programming languages generally have common aspects, they are rarely expressed in the same manner. For instance, in ANSI C, dereferencing a pointer @code{p} is accomplished by @code{*p}, but in Modula-2, it is accomplished by @code{p^}. Values can also be represented (and displayed) differently. Hex numbers in C are written like @samp{0x1ae}, while in Modula-2 they appear as @samp{1AEH}. +@end ifset @cindex working language Language-specific information is built into @value{GDBN} for some languages, @@ -4701,7 +4715,9 @@ automatically. @menu * Setting:: Switching between source languages * Show:: Displaying the language +@ifset MOD2 * Checks:: Type and range checks +@end ifset * Support:: Supported languages @end menu @@ -4728,10 +4744,17 @@ your program. @kindex set language If you wish, you may set the language manually. To do this, issue the command @samp{set language @var{lang}}, where @var{lang} is the name of -a language, such as @code{c} or @code{modula-2}. For a list of the supported -languages, type @samp{set language}. +a language, such as +@ifclear MOD2 +@code{c}. +@end ifclear +@ifset MOD2 +@code{c} or @code{modula-2}. +@end ifset +For a list of the supported languages, type @samp{set language}. @c FIXME: rms: eventually this command should be "help set language". +@ifset MOD2 Setting the language manually prevents @value{GDBN} from updating the working language automatically. This can lead to confusion if you try to debug a program when the working language is not the same as the @@ -4749,6 +4772,7 @@ might not have the effect you intended. In C, this means to add @code{b} and @code{c} and place the result in @code{a}. The result printed would be the value of @code{a}. In Modula-2, this means to compare @code{a} to the result of @code{b+c}, yielding a @code{BOOLEAN} value. +@end ifset @node Automatically @subsection Having @value{GDBN} infer the source language @@ -4759,8 +4783,10 @@ language that a program was written in by looking at the name of its source files, and examining their extensions: @table @file +@ifset MOD2 @item *.mod Modula-2 source file +@end ifset @item *.c C source file @@ -4810,6 +4836,7 @@ Among the other information listed here (@pxref{Symbols, ,Examining the Symbol Table}) is the source language of this source file. @end table +@ifset MOD2 @node Checks @section Type and range checking @@ -4971,24 +4998,32 @@ systems). Show the current setting of the range checker, and whether or not it is being set automatically by @value{GDBN}. @end table +@end ifset @node Support @section Supported languages -@value{GDBN} 4 supports C, C++, and Modula-2. Some @value{GDBN} -features may be used in expressions regardless of the language you -use: the @value{GDBN} @code{@@} and @code{::} operators, and the -@samp{@{type@}addr} construct (@pxref{Expressions, ,Expressions}) can be -used with the constructs of any of the supported languages. - -The following sections detail to what degree each of these -source languages is supported by @value{GDBN}. These sections are -not meant to be language tutorials or references, but serve only as a -reference guide to what the @value{GDBN} expression parser will accept, and -what input and output formats should look like for different languages. -There are many good books written on each of these languages; please -look to these for a language reference or tutorial. - +@ifset MOD2 +@value{GDBN} 4 supports C, C++, and Modula-2. +@end ifset +@ifclear MOD2 +@value{GDBN} 4 supports C, and C++. +@end ifclear +Some @value{GDBN} features may be used in expressions regardless of the +language you use: the @value{GDBN} @code{@@} and @code{::} operators, +and the @samp{@{type@}addr} construct (@pxref{Expressions, +,Expressions}) can be used with the constructs of any supported +language. + +The following sections detail to what degree each source language is +supported by @value{GDBN}. These sections are not meant to be language +tutorials or references, but serve only as a reference guide to what the +@value{GDBN} expression parser will accept, and what input and output +formats should look like for different languages. There are many good +books written on each of these languages; please look to these for a +language reference or tutorial. + +@ifset MOD2 @menu * C:: C and C++ * Modula-2:: Modula-2 @@ -5002,6 +5037,11 @@ look to these for a language reference or tutorial. Since C and C++ are so closely related, many features of @value{GDBN} apply to both languages. Whenever this is the case, we discuss both languages together. +@end ifset +@ifclear MOD2 +@c Cancel this below, under same condition, at end of this chapter! +@up +@end ifclear @cindex C++ @kindex g++ @@ -5033,7 +5073,9 @@ output values in a manner consistent with C conventions. * C Constants:: C and C++ constants * Cplus expressions:: C++ expressions * C Defaults:: Default settings for C and C++ +@ifset MOD2 * C Checks:: C and C++ type and range checks +@end ifset * Debugging C:: @value{GDBN} and C * Debugging C plus plus:: Special features for C++ @end menu @@ -5360,6 +5402,10 @@ whose name ends with @file{.c}, @file{.C}, or @file{.cc}. @xref{Automatically, ,Having @value{GDBN} infer the source language}, for further details. +@ifset MOD2 +@c Type checking is (a) primarily motivated by Modula-2, and (b) +@c unimplemented. If (b) changes, it might make sense to let this node +@c appear even if Mod-2 does not, but meanwhile ignore it. pesch 16jul93. @node C Checks @subsubsection C and C++ type and range checks @cindex C and C++ checks @@ -5390,6 +5436,7 @@ compilers.) Range checking, if turned on, is done on mathematical operations. Array indices are not checked, since they are often used to index a pointer that is not itself an array. +@end ifset @end ifclear @ifclear CONLY @@ -5475,7 +5522,12 @@ also use the @value{GDBN} command-line word completion facilities to list the available choices, or to finish the type list for you. @xref{Completion,, Command completion}, for details on how to do this. @end table +@ifclear MOD2 +@c cancels "up" under same conditions near bgn of chapter +@down +@end ifclear +@ifset MOD2 @node Modula-2 @subsection Modula-2 @cindex Modula-2 @@ -5918,6 +5970,7 @@ In @value{GDBN} scripts, the Modula-2 inequality operator @code{#} is interpreted as the beginning of a comment. Use @code{<>} instead. @end ifclear +@end ifset @node Symbols @chapter Examining the Symbol Table diff --git a/gdb/doc/h8-cfg.texi b/gdb/doc/h8-cfg.texi index 167b5220fd5..a717982bc4a 100644 --- a/gdb/doc/h8-cfg.texi +++ b/gdb/doc/h8-cfg.texi @@ -4,14 +4,16 @@ @set AGGLOMERATION @clear AMD29K @set BARETARGET -@set CONLY +@clear CONLY @set DOSHOST +@clear FORTRAN @clear FSFDOC @clear GENERIC @set H8 @set H8EXCLUSIVE @clear HAVE-FLOAT @clear I960 +@clear MOD2 @clear NOVEL @clear POSIX @set PRECONFIGURED