Commit aee96fe9 by Joseph Myers Committed by Joseph Myers

extend.texi, [...]: Improve formatting.

gcc:
	* doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
	doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
	documentation of -std and -Wwrite-strings.

contrib:
	* texi2pod.pl: Handle @r inside @item.

From-SVN: r43718
parent 1ce847cf
2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
* texi2pod.pl: Handle @r inside @item.
2001-07-02 Zack Weinberg <zackw@stanford.edu> 2001-07-02 Zack Weinberg <zackw@stanford.edu>
* gcc_update: Remove entries for gcc.1, cpp.1, gcov.1. * gcc_update: Remove entries for gcc.1, cpp.1, gcov.1.
......
...@@ -279,9 +279,6 @@ sub postprocess ...@@ -279,9 +279,6 @@ sub postprocess
s/\@w\{([^\}]*)\}/S<$1>/g; s/\@w\{([^\}]*)\}/S<$1>/g;
s/\@(?:dmn|math)\{([^\}]*)\}/$1/g; s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
# Handle @r inside bold.
1 while s/B<((?:[^<>]|I<[^<>]*>)*)R<([^>]*)>/B<$1>${2}B</g;
# Cross references are thrown away, as are @noindent and @refill. # Cross references are thrown away, as are @noindent and @refill.
# (@noindent is impossible in .pod, and @refill is unnecessary.) # (@noindent is impossible in .pod, and @refill is unnecessary.)
# @* is also impossible in .pod; we discard it and any newline that # @* is also impossible in .pod; we discard it and any newline that
...@@ -303,9 +300,11 @@ sub postprocess ...@@ -303,9 +300,11 @@ sub postprocess
s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g; s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g;
# Turn B<blah I<blah> blah> into B<blah> I<blah> B<blah> to # Turn B<blah I<blah> blah> into B<blah> I<blah> B<blah> to
# match Texinfo semantics of @emph inside @samp. # match Texinfo semantics of @emph inside @samp. Also handle @r
# inside bold.
s/&LT;/</g; s/&LT;/</g;
s/&GT;/>/g; s/&GT;/>/g;
1 while s/B<((?:[^<>]|I<[^<>]*>)*)R<([^>]*)>/B<$1>${2}B</g;
1 while (s/B<([^<>]*)I<([^>]+)>/B<$1>I<$2>B</g); 1 while (s/B<([^<>]*)I<([^>]+)>/B<$1>I<$2>B</g);
1 while (s/I<([^<>]*)B<([^>]+)>/I<$1>B<$2>I</g); 1 while (s/I<([^<>]*)B<([^>]+)>/I<$1>B<$2>I</g);
s/[BI]<>//g; s/[BI]<>//g;
......
2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
* doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
documentation of -std and -Wwrite-strings.
2001-07-02 Geoffrey Keating <geoffk@redhat.com> 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
* cse.c (canon_hash): Don't register registers in very small * cse.c (canon_hash): Don't register registers in very small
......
...@@ -387,6 +387,7 @@ called @dfn{lexical scoping}. For example, here we show a nested ...@@ -387,6 +387,7 @@ called @dfn{lexical scoping}. For example, here we show a nested
function which uses an inherited variable named @code{offset}: function which uses an inherited variable named @code{offset}:
@example @example
@group
bar (int *array, int offset, int size) bar (int *array, int offset, int size)
@{ @{
int access (int *array, int index) int access (int *array, int index)
...@@ -396,6 +397,7 @@ bar (int *array, int offset, int size) ...@@ -396,6 +397,7 @@ bar (int *array, int offset, int size)
for (i = 0; i < size; i++) for (i = 0; i < size; i++)
@dots{} access (array, i) @dots{} @dots{} access (array, i) @dots{}
@} @}
@end group
@end example @end example
Nested function definitions are permitted within functions in the places Nested function definitions are permitted within functions in the places
...@@ -886,7 +888,13 @@ conforming) and in C++. In that format the ...@@ -886,7 +888,13 @@ conforming) and in C++. In that format the
@samp{0x} hex introducer and the @samp{p} or @samp{P} exponent field are @samp{0x} hex introducer and the @samp{p} or @samp{P} exponent field are
mandatory. The exponent is a decimal number that indicates the power of mandatory. The exponent is a decimal number that indicates the power of
2 by which the significant part will be multiplied. Thus @samp{0x1.f} is 2 by which the significant part will be multiplied. Thus @samp{0x1.f} is
1 15/16, @samp{p3} multiplies it by 8, and the value of @code{0x1.fp3} @tex
$1 {15\over16}$,
@end tex
@ifnottex
1 15/16,
@end ifnottex
@samp{p3} multiplies it by 8, and the value of @code{0x1.fp3}
is the same as @code{1.55e1}. is the same as @code{1.55e1}.
Unlike for floating-point numbers in the decimal notation the exponent Unlike for floating-point numbers in the decimal notation the exponent
...@@ -1493,7 +1501,7 @@ double y; ...@@ -1493,7 +1501,7 @@ double y;
@end example @end example
@noindent @noindent
both @code{x} and @code{y} can be cast to type @code{union} foo. both @code{x} and @code{y} can be cast to type @code{union foo}.
Using the cast as the right-hand side of an assignment to a variable of Using the cast as the right-hand side of an assignment to a variable of
union type is equivalent to storing in a member of the union: union type is equivalent to storing in a member of the union:
...@@ -1581,6 +1589,7 @@ their own functions that never return. You can declare them ...@@ -1581,6 +1589,7 @@ their own functions that never return. You can declare them
@code{noreturn} to tell the compiler this fact. For example, @code{noreturn} to tell the compiler this fact. For example,
@smallexample @smallexample
@group
void fatal () __attribute__ ((noreturn)); void fatal () __attribute__ ((noreturn));
void void
...@@ -1589,6 +1598,7 @@ fatal (@dots{}) ...@@ -1589,6 +1598,7 @@ fatal (@dots{})
@dots{} /* @r{Print error message.} */ @dots{} @dots{} /* @r{Print error message.} */ @dots{}
exit (1); exit (1);
@} @}
@end group
@end smallexample @end smallexample
The @code{noreturn} keyword tells the compiler to assume that The @code{noreturn} keyword tells the compiler to assume that
...@@ -1973,7 +1983,8 @@ alternate stack. ...@@ -1973,7 +1983,8 @@ alternate stack.
@smallexample @smallexample
void *alt_stack; void *alt_stack;
void f () __attribute__ ((interrupt_handler, sp_switch ("alt_stack"))); void f () __attribute__ ((interrupt_handler,
sp_switch ("alt_stack")));
@end smallexample @end smallexample
@item trap_exit @item trap_exit
...@@ -3181,7 +3192,7 @@ asm volatile ("eieio" : : ); ...@@ -3181,7 +3192,7 @@ asm volatile ("eieio" : : );
@noindent @noindent
Assume @code{addr} contains the address of a memory mapped device Assume @code{addr} contains the address of a memory mapped device
register. The PowerPC @code{eieio} instruction (Enforce In-order register. The PowerPC @code{eieio} instruction (Enforce In-order
Execution of I/O) tells the cpu to make sure that the store to that Execution of I/O) tells the CPU to make sure that the store to that
device register happens before it issues any other I/O@. device register happens before it issues any other I/O@.
Note that even a volatile @code{asm} instruction can be moved in ways Note that even a volatile @code{asm} instruction can be moved in ways
...@@ -4725,20 +4736,20 @@ and will be removed from g++ at some point. ...@@ -4725,20 +4736,20 @@ and will be removed from g++ at some point.
@cindex Backwards Compatibility @cindex Backwards Compatibility
@cindex ARM [Annotated C++ Reference Manual] @cindex ARM [Annotated C++ Reference Manual]
Now that there is a definitive ISO standard C++, g++ has a specification Now that there is a definitive ISO standard C++, G++ has a specification
to adhere to. The C++ language evolved over time, and features that to adhere to. The C++ language evolved over time, and features that
used to be acceptable in previous drafts of the standard, such as the ARM used to be acceptable in previous drafts of the standard, such as the ARM
[Annotated C++ Reference Manual], are no longer accepted. In order to allow [Annotated C++ Reference Manual], are no longer accepted. In order to allow
compilation of C++ written to such drafts, g++ contains some backwards compilation of C++ written to such drafts, G++ contains some backwards
compatibilities. @emph{All such backwards compatibility features are compatibilities. @emph{All such backwards compatibility features are
liable to disappear in future versions of g++.} They should be considered liable to disappear in future versions of G++.} They should be considered
deprecated @xref{Deprecated Features}. deprecated @xref{Deprecated Features}.
@table @code @table @code
@item For scope @item For scope
If a variable is declared at for scope, it used to remain in scope until If a variable is declared at for scope, it used to remain in scope until
the end of the scope which contained the for statement (rather than just the end of the scope which contained the for statement (rather than just
within the for scope). g++ retains this, but issues a warning, if such a within the for scope). G++ retains this, but issues a warning, if such a
variable is accessed outside the for scope. variable is accessed outside the for scope.
@item implicit C language @item implicit C language
......
...@@ -188,7 +188,7 @@ included in the section entitled ``GNU Free Documentation License''. ...@@ -188,7 +188,7 @@ included in the section entitled ``GNU Free Documentation License''.
@sp 1 @sp 1
@c The version number appears five times more in this file. @c The version number appears five times more in this file.
@center for gcc-3.1 @center for GCC 3.1
@page @page
@vskip 0pt plus 1filll @vskip 0pt plus 1filll
Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998, Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
...@@ -197,7 +197,7 @@ Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998, ...@@ -197,7 +197,7 @@ Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
For GCC Version 3.1@* For GCC Version 3.1@*
@sp 1 @sp 1
Published by the Free Software Foundation @* Published by the Free Software Foundation @*
59 Temple Place - Suite 330@* 59 Temple Place---Suite 330@*
Boston, MA 02111-1307, USA@* Boston, MA 02111-1307, USA@*
Last printed April, 1998.@* Last printed April, 1998.@*
Printed copies are available for $50 each.@* Printed copies are available for $50 each.@*
...@@ -1143,9 +1143,11 @@ arguments do not work with GCC@. For example, a program like this ...@@ -1143,9 +1143,11 @@ arguments do not work with GCC@. For example, a program like this
will not work: will not work:
@example @example
@group
foobar ( foobar (
#define luser #define luser
hack) hack)
@end group
@end example @end example
ISO C does not permit such a construct. It would make sense to support ISO C does not permit such a construct. It would make sense to support
...@@ -3214,12 +3216,12 @@ and some files shared with Objective-C and C++. ...@@ -3214,12 +3216,12 @@ and some files shared with Objective-C and C++.
The source files for parsing C++ are in @file{cp/}. The source files for parsing C++ are in @file{cp/}.
They are @file{parse.y}, They are @file{parse.y},
@file{class.c},@* @file{class.c},
@file{cvt.c}, @file{decl.c}, @file{decl2.c}, @file{cvt.c}, @file{decl.c}, @file{decl2.c},
@file{except.c},@* @file{except.c},
@file{expr.c}, @file{init.c}, @file{lex.c}, @file{expr.c}, @file{init.c}, @file{lex.c},
@file{method.c}, @file{ptree.c},@* @file{method.c}, @file{ptree.c},
@file{search.c}, @file{spew.c}, @* @file{search.c}, @file{spew.c},
@file{semantics.c}, @file{tree.c}, @file{semantics.c}, @file{tree.c},
@file{typeck2.c}, and @file{typeck2.c}, and
@file{typeck.c}, along with header files @file{cp-tree.def}, @file{typeck.c}, along with header files @file{cp-tree.def},
......
...@@ -79,7 +79,7 @@ If a @code{define_insn} is used, the template given is inserted into the ...@@ -79,7 +79,7 @@ If a @code{define_insn} is used, the template given is inserted into the
insn list. If a @code{define_expand} is used, one of three things insn list. If a @code{define_expand} is used, one of three things
happens, based on the condition logic. The condition logic may manually happens, based on the condition logic. The condition logic may manually
create new insns for the insn list, say via @code{emit_insn()}, and create new insns for the insn list, say via @code{emit_insn()}, and
invoke DONE@. For certain named patterns, it may invoke FAIL to tell the invoke @code{DONE}. For certain named patterns, it may invoke @code{FAIL} to tell the
compiler to use an alternate way of performing that task. If it invokes compiler to use an alternate way of performing that task. If it invokes
neither @code{DONE} nor @code{FAIL}, the template given in the pattern neither @code{DONE} nor @code{FAIL}, the template given in the pattern
is inserted, as if the @code{define_expand} were a @code{define_insn}. is inserted, as if the @code{define_expand} were a @code{define_insn}.
...@@ -1632,7 +1632,7 @@ Constant in range 0 to 63 (for 64-bit shifts) ...@@ -1632,7 +1632,7 @@ Constant in range 0 to 63 (for 64-bit shifts)
Constant in range 0 to 255 (for @code{out} instruction) Constant in range 0 to 255 (for @code{out} instruction)
@item Z @item Z
Constant in range 0 to 0xffffffff or symbolic reference known to fit specified range. Constant in range 0 to @code{0xffffffff} or symbolic reference known to fit specified range.
(for using immediates in zero extending 32-bit to 64-bit x86-64 instructions) (for using immediates in zero extending 32-bit to 64-bit x86-64 instructions)
@item e @item e
...@@ -3827,7 +3827,7 @@ from i386.md: ...@@ -3827,7 +3827,7 @@ from i386.md:
@end smallexample @end smallexample
In this case, the actual split condition will be In this case, the actual split condition will be
"TARGET_ZERO_EXTEND_WITH_AND && !optimize_size && reload_completed." @samp{TARGET_ZERO_EXTEND_WITH_AND && !optimize_size && reload_completed}.
The @code{define_insn_and_split} construction provides exactly the same The @code{define_insn_and_split} construction provides exactly the same
functionality as two separate @code{define_insn} and @code{define_split} functionality as two separate @code{define_insn} and @code{define_split}
......
...@@ -1793,7 +1793,7 @@ are filled to an entire word with zeros instead of by sign-extension. ...@@ -1793,7 +1793,7 @@ are filled to an entire word with zeros instead of by sign-extension.
@section Vector Operations @section Vector Operations
@cindex vector operations @cindex vector operations
All normal rtl expressions can be used with vector modes; they are All normal RTL expressions can be used with vector modes; they are
interpreted as operating on each part of the vector independently. interpreted as operating on each part of the vector independently.
Additionally, there are a few new expressions to describe specific vector Additionally, there are a few new expressions to describe specific vector
operations. operations.
...@@ -2360,7 +2360,8 @@ where @var{z} is an index register and @var{i} is a constant. ...@@ -2360,7 +2360,8 @@ where @var{z} is an index register and @var{i} is a constant.
Here is an example of its use: Here is an example of its use:
@example @example
(mem:SF (post_modify:SI (reg:SI 42) (plus (reg:SI 42) (reg:SI 48)))) (mem:SF (post_modify:SI (reg:SI 42) (plus (reg:SI 42)
(reg:SI 48))))
@end example @end example
This says to modify pseudo register 42 by adding the contents of pseudo This says to modify pseudo register 42 by adding the contents of pseudo
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment