Commit 9c34dbbf by Zack Weinberg

extend.texi, [...]: Eliminate overfull or underfull hboxes.

        * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
        doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
        Eliminate overfull or underfull hboxes.

From-SVN: r45012
parent b649398a
2001-08-18 Zack Weinberg <zackw@panix.com> 2001-08-18 Zack Weinberg <zackw@panix.com>
* cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout. * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
Eliminate overfull or underfull hboxes.
2001-08-18 Zack Weinberg <zackw@panix.com>
* cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
2001-08-18 Zack Weinberg <zackw@panix.com> 2001-08-18 Zack Weinberg <zackw@panix.com>
...@@ -12,12 +18,12 @@ ...@@ -12,12 +18,12 @@
TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT, TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
TARGET_SCHED_FINISH, TARGET_SCHED_REORDER, TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY): TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
New hook #defines to be overridden. New hook #defines to be overridden.
(TARGET_SCHED): Bring them all together. (TARGET_SCHED): Bring them all together.
(TARGET_INITIALIZER): Update. (TARGET_INITIALIZER): Update.
* target.h: Don't forward declare struct rtx_def. Use 'rtx' * target.h: Don't forward declare struct rtx_def. Use 'rtx'
instead of 'struct rtx_def *' throughout. instead of 'struct rtx_def *' throughout.
(struct sched): New set of hooks for the scheduler. (struct sched): New set of hooks for the scheduler.
* Makefile.in (haifa-sched.o): Depend on target.h. * Makefile.in (haifa-sched.o): Depend on target.h.
* doc/tm.texi: Document the new scheduler hooks, together in * doc/tm.texi: Document the new scheduler hooks, together in
...@@ -81,7 +87,7 @@ ...@@ -81,7 +87,7 @@
2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* except.c (TYPE_HASH): Delete. * except.c (TYPE_HASH): Delete.
* objc/objc-act.c (HASHFUNCTION): Cast to size_t, not * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
HOST_WIDE_INT. HOST_WIDE_INT.
...@@ -140,7 +146,7 @@ ...@@ -140,7 +146,7 @@
(MAX_OFILE_ALIGNMENT): New. (MAX_OFILE_ALIGNMENT): New.
(ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section. (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
* config/mips/mips.c (mips_make_temp_file, temp_filename): Remove. * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
(copy_file_data): Split out from (copy_file_data): Split out from
(mips_asm_file_end): ... here. (mips_asm_file_end): ... here.
(mips_asm_file_start): Remove extra .section directive. Use (mips_asm_file_start): Remove extra .section directive. Use
tmpfile instead of mips_make_temp_file. tmpfile instead of mips_make_temp_file.
......
...@@ -2529,11 +2529,18 @@ our current development sources are available by CVS (see ...@@ -2529,11 +2529,18 @@ our current development sources are available by CVS (see
@uref{http://gcc.gnu.org/cvs.html}). Source and binary snapshots are @uref{http://gcc.gnu.org/cvs.html}). Source and binary snapshots are
also available for FTP; see @uref{http://gcc.gnu.org/snapshots.html}. also available for FTP; see @uref{http://gcc.gnu.org/snapshots.html}.
If you would like to work on improvements to GCC, please read If you would like to work on improvements to GCC, please read the
@uref{http://gcc.gnu.org/contribute.html} and advice at these URLs:
@uref{http://gcc.gnu.org/contributewhy.html} for information on how to
make useful contributions and avoid duplication of effort. Suggested @smallexample
projects are listed at @uref{http://gcc.gnu.org/projects/}. @uref{http://gcc.gnu.org/contribute.html}
@uref{http://gcc.gnu.org/contributewhy.html}
@end smallexample
@noindent
for information on how to make useful contributions and avoid
duplication of effort. Suggested projects are listed at
@uref{http://gcc.gnu.org/projects/}.
@node VMS @node VMS
@chapter Using GCC on VMS @chapter Using GCC on VMS
...@@ -3229,23 +3236,23 @@ tree node that represents an expression has a data type attached. ...@@ -3229,23 +3236,23 @@ tree node that represents an expression has a data type attached.
Variables are represented as declaration nodes. Variables are represented as declaration nodes.
The language-independent source files for parsing are The language-independent source files for parsing are
@file{stor-layout.c}, @file{fold-const.c}, and @file{tree.c}. @file{tree.c}, @file{fold-const.c}, and @file{stor-layout.c}.
There are also header files @file{tree.h} and @file{tree.def} There are also header files @file{tree.h} and @file{tree.def}
which define the format of the tree representation. which define the format of the tree representation.
C Preprocessing, for language front ends, that want or require it, is C preprocessing, for language front ends, that want or require it, is
performed by cpplib, which is covered in seperate documentation. In performed by cpplib, which is covered in seperate documentation. In
particular, the internals are covered in @xref{Top, ,Cpplib internals, cppinternals, Cpplib Internals}. particular, the internals are covered in @xref{Top, ,Cpplib internals,
cppinternals, Cpplib Internals}.
@c Avoiding overfull is tricky here. @c Avoiding overfull is tricky here.
The source files to parse C are The source files to parse C are
@file{c-aux-info.c},
@file{c-convert.c}, @file{c-convert.c},
@file{c-decl.c}, @file{c-decl.c},
@file{c-errors.c}, @file{c-errors.c},
@file{c-lang.c}, @file{c-lang.c},
@file{c-parse.in}, @file{c-parse.in},
@file{c-aux-info.c},
and and
@file{c-typeck.c}, @file{c-typeck.c},
along with a header file along with a header file
...@@ -3266,19 +3273,18 @@ They are @file{parse.y}, ...@@ -3266,19 +3273,18 @@ They are @file{parse.y},
@file{cp-tree.h}, and @file{decl.h}. @file{cp-tree.h}, and @file{decl.h}.
The special source files for parsing Objective-C are in @file{objc/}. The special source files for parsing Objective-C are in @file{objc/}.
They are @file{objc-parse.y}, @file{objc-act.c}, @file{objc-tree.def}, and They are @file{objc-act.c}, @file{objc-tree.def}, and @file{objc-act.h}.
@file{objc-act.h}. Certain C-specific files are used for this as Certain C-specific files are used for this as well.
well.
The files The files
@file{c-common.c}, @file{c-common.c},
@file{c-common.def}, @file{c-common.def},
@file{c-dump.c}, @file{c-dump.c},
@file{c-format.c}, @file{c-format.c},
@file{c-lex.c},
@file{c-pragma.c}, @file{c-pragma.c},
and
@file{c-semantics.c}, @file{c-semantics.c},
and
@file{c-lex.c},
along with header files along with header files
@file{c-common.h}, @file{c-common.h},
@file{c-dump.h}, @file{c-dump.h},
...@@ -4193,7 +4199,9 @@ For example, in the PowerPC embedded ABI support, it is not desirable ...@@ -4193,7 +4199,9 @@ For example, in the PowerPC embedded ABI support, it is not desirable
to build libraries compiled with the @option{-mcall-aix} option to build libraries compiled with the @option{-mcall-aix} option
and either of the @option{-fleading-underscore} or @option{-mlittle} options and either of the @option{-fleading-underscore} or @option{-mlittle} options
at the same time. Therefore @code{MULTILIB_EXCEPTIONS} is set to at the same time. Therefore @code{MULTILIB_EXCEPTIONS} is set to
@code{*mcall-aix/*fleading-underscore* *mlittle/*mcall-aix*}. @smallexample
*mcall-aix/*fleading-underscore* *mlittle/*mcall-aix*
@end smallexample
@findex MULTILIB_EXTRA_OPTS @findex MULTILIB_EXTRA_OPTS
@item MULTILIB_EXTRA_OPTS @item MULTILIB_EXTRA_OPTS
......
...@@ -61,7 +61,7 @@ patent must be licensed for everyone's free use or not licensed at all. ...@@ -61,7 +61,7 @@ patent must be licensed for everyone's free use or not licensed at all.
modification follow. modification follow.
@iftex @iftex
@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION @unnumberedsec TERMS AND CONDITIONS FOR COPYING,@*DISTRIBUTION AND MODIFICATION
@end iftex @end iftex
@ifnottex @ifnottex
@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION @center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
......
...@@ -430,11 +430,11 @@ machine, the cross-compiler can use them also. ...@@ -430,11 +430,11 @@ machine, the cross-compiler can use them also.
Otherwise, you're on your own in finding header files to use when Otherwise, you're on your own in finding header files to use when
cross-compiling. cross-compiling.
When you have found suitable header files, put them in the directory When you have found suitable header files, you should put them in the
@file{/usr/local/@var{target}/include}, before building the cross directory @file{/usr/local/@var{target}/include}, before building the
compiler. Then installation will run fixincludes properly and install cross compiler. Then installation will run fixincludes properly and
the corrected versions of the header files where the compiler will use install the corrected versions of the header files where the compiler
them. will use them.
Provide the header files before you build the cross-compiler, because Provide the header files before you build the cross-compiler, because
the build stage actually runs the cross-compiler to produce parts of the build stage actually runs the cross-compiler to produce parts of
...@@ -613,9 +613,9 @@ $ install replace sys$common:[syslib]dcltables ...@@ -613,9 +613,9 @@ $ install replace sys$common:[syslib]dcltables
@end smallexample @end smallexample
@item @item
Type @samp{@@make-gcc} to recompile everything (alternatively, submit Type @samp{@@make-gcc} to recompile everything, or submit the file
the file @file{make-gcc.com} to a batch queue). If you wish to build @file{make-gcc.com} to a batch queue. If you wish to build the GNU C++
the GNU C++ compiler as well as the GNU CC compiler, you must first edit compiler as well as the GNU CC compiler, you must first edit
@file{make-gcc.com} and follow the instructions that appear in the @file{make-gcc.com} and follow the instructions that appear in the
comments. comments.
...@@ -680,12 +680,6 @@ the read-only bit set, and the linker will generate warning messages ...@@ -680,12 +680,6 @@ the read-only bit set, and the linker will generate warning messages
about mismatched psect attributes for these variables. These warning about mismatched psect attributes for these variables. These warning
messages are merely a nuisance, and can safely be ignored. messages are merely a nuisance, and can safely be ignored.
If you are compiling with a version of GNU CC older than 1.33, specify
@samp{/DEFINE=("inline=")} as an option in all the compilations. This
requires editing all the @code{gcc} commands in @file{make-cc1.com}.
(The older versions had problems supporting @code{inline}.) Once you
have a working 1.33 or newer GNU CC, you can change this file back.
@item @item
If you want to build GNU CC with the VAX C compiler, you will need to If you want to build GNU CC with the VAX C compiler, you will need to
make minor changes in @file{make-cccp.com} and @file{make-cc1.com} make minor changes in @file{make-cccp.com} and @file{make-cc1.com}
...@@ -829,11 +823,12 @@ done). ...@@ -829,11 +823,12 @@ done).
is where @code{g++} looks first for header files. The C++ library is where @code{g++} looks first for header files. The C++ library
installs only target independent header files in that directory. installs only target independent header files in that directory.
@code{LOCAL_INCLUDE_DIR} is used only for a native compiler. It is @code{LOCAL_INCLUDE_DIR} is used only by native compilers. GNU CC
normally @file{/usr/local/include}. GNU CC searches this directory so doesn't install anything there. It is normally
that users can install header files in @file{/usr/local/include}. @file{/usr/local/include}. This is where local additions to a packaged
system should place header files.
@code{CROSS_INCLUDE_DIR} is used only for a cross compiler. GNU CC @code{CROSS_INCLUDE_DIR} is used only by cross compilers. GNU CC
doesn't install anything there. doesn't install anything there.
@code{TOOL_INCLUDE_DIR} is used for both native and cross compilers. It @code{TOOL_INCLUDE_DIR} is used for both native and cross compilers. It
......
...@@ -448,8 +448,6 @@ those listed in the @code{match_parallel}. ...@@ -448,8 +448,6 @@ those listed in the @code{match_parallel}.
A typical use of @code{match_parallel} is to match load and store A typical use of @code{match_parallel} is to match load and store
multiple expressions, which can contain a variable number of elements multiple expressions, which can contain a variable number of elements
in a @code{parallel}. For example, in a @code{parallel}. For example,
@c the following is *still* going over. need to change the code.
@c also need to work on grouping of this example. --mew 1feb93
@smallexample @smallexample
(define_insn "" (define_insn ""
...@@ -463,7 +461,7 @@ in a @code{parallel}. For example, ...@@ -463,7 +461,7 @@ in a @code{parallel}. For example,
@end smallexample @end smallexample
This example comes from @file{a29k.md}. The function This example comes from @file{a29k.md}. The function
@code{load_multiple_operations} is defined in @file{a29k.c} and checks @code{load_multiple_operation} is defined in @file{a29k.c} and checks
that subsequent elements in the @code{parallel} are the same as the that subsequent elements in the @code{parallel} are the same as the
@code{set} in the pattern, except that they are referencing subsequent @code{set} in the pattern, except that they are referencing subsequent
registers and memory locations. registers and memory locations.
...@@ -1295,12 +1293,12 @@ general-purpose registers respectively; @pxref{Simple Constraints}), and ...@@ -1295,12 +1293,12 @@ general-purpose registers respectively; @pxref{Simple Constraints}), and
@samp{I}, usually the letter indicating the most common @samp{I}, usually the letter indicating the most common
immediate-constant format. immediate-constant format.
For each machine architecture, the @file{config/@var{machine}.h} file For each machine architecture, the
defines additional constraints. These constraints are used by the @file{config/@var{machine}/@var{machine}.h} file defines additional
compiler itself for instruction generation, as well as for @code{asm} constraints. These constraints are used by the compiler itself for
statements; therefore, some of the constraints are not particularly instruction generation, as well as for @code{asm} statements; therefore,
interesting for @code{asm}. The constraints are defined through these some of the constraints are not particularly interesting for @code{asm}.
macros: The constraints are defined through these macros:
@table @code @table @code
@item REG_CLASS_FROM_LETTER @item REG_CLASS_FROM_LETTER
...@@ -2068,9 +2066,8 @@ machines explicit memory references will get optional reloads. ...@@ -2068,9 +2066,8 @@ machines explicit memory references will get optional reloads.
If a scratch register is required to move an object to or from memory, If a scratch register is required to move an object to or from memory,
it can be allocated using @code{gen_reg_rtx} prior to life analysis. it can be allocated using @code{gen_reg_rtx} prior to life analysis.
If there are cases needing If there are cases which need scratch registers during or after reload,
scratch registers after reload, you must define you must define @code{SECONDARY_INPUT_RELOAD_CLASS} and/or
@code{SECONDARY_INPUT_RELOAD_CLASS} and perhaps also
@code{SECONDARY_OUTPUT_RELOAD_CLASS} to detect them, and provide @code{SECONDARY_OUTPUT_RELOAD_CLASS} to detect them, and provide
patterns @samp{reload_in@var{m}} or @samp{reload_out@var{m}} to handle patterns @samp{reload_in@var{m}} or @samp{reload_out@var{m}} to handle
them. @xref{Register Classes}. them. @xref{Register Classes}.
...@@ -2947,8 +2944,8 @@ the function should return. This will normally need to copied by the ...@@ -2947,8 +2944,8 @@ the function should return. This will normally need to copied by the
pattern to some special register or memory location. pattern to some special register or memory location.
This pattern only needs to be defined if call frame exception handling This pattern only needs to be defined if call frame exception handling
is to be used, and simple moves to @code{EH_RETURN_STACKADJ_RTX} and is to be used, and simple moves involving @code{EH_RETURN_STACKADJ_RTX}
@code{EH_RETURN_HANDLER_RTX} are not sufficient. and @code{EH_RETURN_HANDLER_RTX} are not sufficient.
@cindex @code{prologue} instruction pattern @cindex @code{prologue} instruction pattern
@anchor{prologue instruction pattern} @anchor{prologue instruction pattern}
...@@ -3251,9 +3248,9 @@ iterations. This avoids the need for fetching and executing a ...@@ -3251,9 +3248,9 @@ iterations. This avoids the need for fetching and executing a
@samp{dbra}-like instruction and avoids pipeline stalls associated with @samp{dbra}-like instruction and avoids pipeline stalls associated with
the jump. the jump.
GCC has three special named patterns to support low overhead looping, GCC has three special named patterns to support low overhead looping.
@samp{decrement_and_branch_until_zero}, @samp{doloop_begin}, and They are @samp{decrement_and_branch_until_zero}, @samp{doloop_begin},
@samp{doloop_end}. The first pattern, and @samp{doloop_end}. The first pattern,
@samp{decrement_and_branch_until_zero}, is not emitted during RTL @samp{decrement_and_branch_until_zero}, is not emitted during RTL
generation but may be emitted during the instruction combination phase. generation but may be emitted during the instruction combination phase.
This requires the assistance of the loop optimizer, using information This requires the assistance of the loop optimizer, using information
...@@ -3888,7 +3885,8 @@ from i386.md: ...@@ -3888,7 +3885,8 @@ from i386.md:
"TARGET_ZERO_EXTEND_WITH_AND && !optimize_size" "TARGET_ZERO_EXTEND_WITH_AND && !optimize_size"
"#" "#"
"&& reload_completed" "&& reload_completed"
[(parallel [(set (match_dup 0) (and:SI (match_dup 0) (const_int 65535))) [(parallel [(set (match_dup 0)
(and:SI (match_dup 0) (const_int 65535)))
(clobber (reg:CC 17))])] (clobber (reg:CC 17))])]
"" ""
[(set_attr "type" "alu1")]) [(set_attr "type" "alu1")])
...@@ -4749,9 +4747,10 @@ as follows: ...@@ -4749,9 +4747,10 @@ as follows:
return (get_attr_length (insn) == 4 return (get_attr_length (insn) == 4
? "b %l0" : "l r15,=a(%l0); br r15"); ? "b %l0" : "l r15,=a(%l0); br r15");
@} @}
[(set (attr "length") (if_then_else (lt (match_dup 0) (const_int 4096)) [(set (attr "length")
(const_int 4) (if_then_else (lt (match_dup 0) (const_int 4096))
(const_int 6)))]) (const_int 4)
(const_int 6)))])
@end smallexample @end smallexample
@node Constant Attributes @node Constant Attributes
......
...@@ -1527,8 +1527,8 @@ than the operands. Write the pattern for this as ...@@ -1527,8 +1527,8 @@ than the operands. Write the pattern for this as
where @var{m} is wider than the modes of @var{x} and @var{y}, which need where @var{m} is wider than the modes of @var{x} and @var{y}, which need
not be the same. not be the same.
Write patterns for unsigned widening multiplication similarly using For unsigned widening multiplication, use the same idiom, but with
@code{zero_extend}. @code{zero_extend} instead of @code{sign_extend}.
@findex div @findex div
@cindex division @cindex division
...@@ -2169,7 +2169,8 @@ either wrap around or use saturating addition depending on the value ...@@ -2169,7 +2169,8 @@ either wrap around or use saturating addition depending on the value
of a special control register: of a special control register:
@example @example
(parallel [(set (reg:SI 2) (unspec:SI [(reg:SI 3) (reg:SI 4)] 0)) (parallel [(set (reg:SI 2) (unspec:SI [(reg:SI 3)
(reg:SI 4)] 0))
(use (reg:SI 1))]) (use (reg:SI 1))])
@end example @end example
......
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