libgomp.texi (omp_test_lock): Fix typo.

libgomp/
	* libgomp.texi (omp_test_lock): Fix typo.

gcc/
	* doc/sourcebuild.texi (Config Fragments): Remove obsolete
	FIXME note about gcc/config.guess.
	* doc/options.texi (Option file format): Remove non-ASCII bytes.
	* doc/cpp.texi: Expand TABs, drop indentation outside examples.
	* doc/cppopts.texi: Likewise.
	* doc/extend.texi: Likewise.
	* doc/gcc.texi: Likewise.
	* doc/gccint.texi: Likewise.
	* doc/gcov.texi: Likewise.
	* doc/gty.texi: Likewise.
	* doc/hostconfig.texi: Likewise.
	* doc/install.texi: Likewise.
	* doc/invoke.texi: Likewise.
	* doc/loop.texi: Likewise.
	* doc/makefile.texi: Likewise.
	* doc/md.texi: Likewise.
	* doc/passes.texi: Likewise.
	* doc/tm.texi: Likewise.
	* doc/tree-ssa.texi: Likewise.
	* doc/trouble.texi: Likewise.

libiberty/
	* libiberty.texi: Expand TABs, drop indentation outside examples.
	* obstacks.texi: Likewise.

gcc/fortran/
	* gfc-internals.texi: Expand TABs, drop indentation outside examples.
	* gfortran.texi: Likewise.
	* intrinsic.texi: Likewise.
	* invoke.texi: Likewise.

gcc/java/
	* gcj.texi: Expand TABs, remove whitespace from blank lines.

gcc/ada/
	* gnat_rm.texi (Implementation Defined Characteristics)
	(Standard Library Routines): Use @smallexample for indented
	text.  Drop Indentation outside examples.
	* gnat_ugn.texi: Likewise.

From-SVN: r136802
This commit is contained in:
Ralf Wildenhues 2008-06-15 09:42:13 +00:00 committed by Ralf Wildenhues
parent 93581857e5
commit 6ccde948ad
35 changed files with 496 additions and 489 deletions

View File

@ -1,3 +1,26 @@
2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* doc/sourcebuild.texi (Config Fragments): Remove obsolete
FIXME note about gcc/config.guess.
* doc/options.texi (Option file format): Remove non-ASCII bytes.
* doc/cpp.texi: Expand TABs, drop indentation outside examples.
* doc/cppopts.texi: Likewise.
* doc/extend.texi: Likewise.
* doc/gcc.texi: Likewise.
* doc/gccint.texi: Likewise.
* doc/gcov.texi: Likewise.
* doc/gty.texi: Likewise.
* doc/hostconfig.texi: Likewise.
* doc/install.texi: Likewise.
* doc/invoke.texi: Likewise.
* doc/loop.texi: Likewise.
* doc/makefile.texi: Likewise.
* doc/md.texi: Likewise.
* doc/passes.texi: Likewise.
* doc/tm.texi: Likewise.
* doc/tree-ssa.texi: Likewise.
* doc/trouble.texi: Likewise.
2008-06-15 Mark Shinwell <shinwell@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>

View File

@ -1,3 +1,10 @@
2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* gnat_rm.texi (Implementation Defined Characteristics)
(Standard Library Routines): Use @smallexample for indented
text. Drop Indentation outside examples.
* gnat_ugn.texi: Likewise.
2008-06-13 Olivier Hainque <hainque@adacore.com>
* decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0

View File

@ -8345,15 +8345,17 @@ be provided. In this mode, exceptions may be raised but will result in
an immediate call to the last chance handler, a routine that the user
must define with the following profile:
procedure Last_Chance_Handler
(Source_Location : System.Address; Line : Integer);
pragma Export (C, Last_Chance_Handler,
"__gnat_last_chance_handler");
@smallexample @c ada
procedure Last_Chance_Handler
(Source_Location : System.Address; Line : Integer);
pragma Export (C, Last_Chance_Handler,
"__gnat_last_chance_handler");
@end smallexample
The parameter is a C null-terminated string representing a message to be
associated with the exception (typically the source location of the raise
statement generated by the compiler). The Line parameter when nonzero
represents the line number in the source program where the raise occurs.
The parameter is a C null-terminated string representing a message to be
associated with the exception (typically the source location of the raise
statement generated by the compiler). The Line parameter when nonzero
represents the line number in the source program where the raise occurs.
@item No_Exception_Propagation
@findex No_Exception_Propagation
@ -11663,8 +11665,7 @@ The following predefined instantiations of this package are provided:
@item Float
@code{Ada.Numerics.Complex_Elementary_Functions}
@item Long_Float
@code{Ada.Numerics.
Long_Complex_Elementary_Functions}
@code{Ada.Numerics.Long_Complex_Elementary_Functions}
@end table
@item Ada.Numerics.Generic_Complex_Types

View File

@ -8862,7 +8862,7 @@ Project File is specified, with the ALI file extension.
Compile only. Do not perform binding, except when @option{^-b^/ACTIONS=BIND^}
is also specified. Do not perform linking, except if both
@option{^-b^/ACTIONS=BIND^} and
@option{^-l^/ACTIONS=LINK^} are also specified.
@option{^-l^/ACTIONS=LINK^} are also specified.
If the root unit specified by @var{file_name} is not a main unit, this is the
default. Otherwise @command{gnatmake} will attempt binding and linking
unless all objects are up to date and the executable is more recent than
@ -8894,7 +8894,9 @@ This switch is not compatible with a project file
@cindex @option{^-d^/DISPLAY_PROGRESS^} (@command{gnatmake})
Display progress for each source, up to date or not, as a single line
completed x out of y (zz%)
@smallexample
completed x out of y (zz%)
@end smallexample
If the file needs to be compiled this is displayed after the invocation of
the compiler. These lines are displayed even in quiet output mode.
@ -9419,8 +9421,8 @@ and @file{^main3^MAIN3.EXE^}.
@ifset vms
@item gnatmake Main_Unit /QUIET
/COMPILER_QUALIFIERS /OPTIMIZE=ALL
/BINDER_QUALIFIERS /ORDER_OF_ELABORATION
/COMPILER_QUALIFIERS /OPTIMIZE=ALL
/BINDER_QUALIFIERS /ORDER_OF_ELABORATION
@end ifset
Compile all files necessary to bind and link the main program unit
@code{Main_Unit} (from file @file{main_unit.adb}). All compilations will
@ -12640,7 +12642,7 @@ The prefix of an attribute may be:
@item The name of an imported project
@item The name of a parent project that is extended by the current project
@item An expanded name whose prefix is imported/parent project name,
and whose selector is a package name
and whose selector is a package name
@end itemize
@noindent
@ -15287,8 +15289,8 @@ specifies the command used to compile a single file in the application.
@ifclear vms
@item make_cmd=COMMAND
[default: @code{"gnatmake $@{main@} -aI$@{src_dir@}
-aO$@{obj_dir@} -g -gnatq -cargs $@{comp_opt@}
-bargs $@{bind_opt@} -largs $@{link_opt@}"}]
-aO$@{obj_dir@} -g -gnatq -cargs $@{comp_opt@}
-bargs $@{bind_opt@} -largs $@{link_opt@}"}]
@end ifclear
specifies the command used to recompile the whole application.
@ -17961,25 +17963,23 @@ $ GNAT LIBRARY /[CREATE | SET | DELETE]=directory [/CONFIG=file]
@c !sort!
@item /CREATE=directory
@cindex @code{/CREATE} (@code{gnatlbr})
Create the new run-time library in the specified directory.
Create the new run-time library in the specified directory.
@item /SET=directory
@cindex @code{/SET} (@code{gnatlbr})
Make the library in the specified directory the current run-time
library.
Make the library in the specified directory the current run-time library.
@item /DELETE=directory
@cindex @code{/DELETE} (@code{gnatlbr})
Delete the run-time library in the specified directory.
Delete the run-time library in the specified directory.
@item /CONFIG=file
@cindex @code{/CONFIG} (@code{gnatlbr})
With /CREATE:
Use the configuration pragmas in the specified file when building
the library.
With /CREATE: Use the configuration pragmas in the specified file when
building the library.
With /SET:
Use the configuration pragmas in the specified file when compiling.
With /SET: Use the configuration pragmas in the specified file when
compiling.
@end table
@ -21102,14 +21102,14 @@ The following declarations are checked:
@itemize @bullet
@item
type declarations
type declarations
@item
constant declarations (but not number declarations)
constant declarations (but not number declarations)
@item
package renaming declarations (but not generic package renaming
declarations)
package renaming declarations (but not generic package renaming
declarations)
@end itemize
@noindent
@ -21118,12 +21118,12 @@ the following checks:
@itemize @bullet
@item
type-defining names end with @code{_T}, unless the type is an access type,
in which case the suffix must be @code{_A}
type-defining names end with @code{_T}, unless the type is an access type,
in which case the suffix must be @code{_A}
@item
constant names end with @code{_C}
constant names end with @code{_C}
@item
names defining package renamings end with @code{_R}
names defining package renamings end with @code{_R}
@end itemize
@noindent
@ -21132,19 +21132,19 @@ made for the defining name suffix:
@itemize @bullet
@item
For an incomplete type declaration: if the corresponding full type
declaration is available, the defining identifier from the full type
declaration is checked, but the defining identifier from the incomplete type
declaration is not; otherwise the defining identifier from the incomplete
type declaration is checked against the suffix specified for type
declarations.
For an incomplete type declaration: if the corresponding full type
declaration is available, the defining identifier from the full type
declaration is checked, but the defining identifier from the incomplete type
declaration is not; otherwise the defining identifier from the incomplete
type declaration is checked against the suffix specified for type
declarations.
@item
For a private type declaration (including private extensions), the defining
identifier from the private type declaration is checked against the type
suffix (even if the corresponding full declaration is an access type
declaration), and the defining identifier from the corresponding full type
declaration is not checked.
For a private type declaration (including private extensions), the defining
identifier from the private type declaration is checked against the type
suffix (even if the corresponding full declaration is an access type
declaration), and the defining identifier from the corresponding full type
declaration is not checked.
@end itemize
@noindent
@ -24217,7 +24217,7 @@ functions:
@item @code{TO_UNSIGNED_LONGWORD(ADDRESS)}
@item Function @code{IMPORT_VALUE return UNSIGNED_LONGWORD} and the
functions @code{IMPORT_ADDRESS} and @code{IMPORT_LARGEST_VALUE}
functions @code{IMPORT_ADDRESS} and @code{IMPORT_LARGEST_VALUE}
@end itemize
@noindent
@ -24410,16 +24410,15 @@ GNAT supplies the following task-related pragmas:
@itemize @bullet
@item @code{TASK_INFO}
This pragma appears within a task definition and
applies to the task in which it appears. The argument
must be of type @code{SYSTEM.TASK_INFO.TASK_INFO_TYPE}.
This pragma appears within a task definition and
applies to the task in which it appears. The argument
must be of type @code{SYSTEM.TASK_INFO.TASK_INFO_TYPE}.
@item @code{TASK_STORAGE}
GNAT implements pragma @code{TASK_STORAGE} in the same way as
HP Ada.
Both HP Ada and GNAT supply the pragmas @code{PASSIVE},
@code{SUPPRESS}, and @code{VOLATILE}.
GNAT implements pragma @code{TASK_STORAGE} in the same way as HP Ada.
Both HP Ada and GNAT supply the pragmas @code{PASSIVE},
@code{SUPPRESS}, and @code{VOLATILE}.
@end itemize
@node Scheduling and Task Priority
@subsection Scheduling and Task Priority
@ -24875,17 +24874,16 @@ On HP Ada, main programs are defined to meet the
following conditions:
@itemize @bullet
@item Procedure with no formal parameters (returns @code{0} upon
normal completion)
normal completion)
@item Procedure with no formal parameters (returns @code{42} when
an unhandled exception is raised)
an unhandled exception is raised)
@item Function with no formal parameters whose returned value
is of a discrete type
is of a discrete type
@item Procedure with one @code{out} formal of a discrete type for
which a specification of pragma @code{EXPORT_VALUED_PROCEDURE}
is given.
which a specification of pragma @code{EXPORT_VALUED_PROCEDURE} is given.
@end itemize
@ -25270,7 +25268,7 @@ and GNAT systems.
@sp 1
@item In a subprogram or entry declaration, maximum number of
formal parameters that are of an unconstrained record type
formal parameters that are of an unconstrained record type
@tab 32
@tab No set limit
@sp 1
@ -25296,7 +25294,7 @@ and GNAT systems.
@sp 1
@item Maximum number of formal parameters in an entry or
subprogram declaration
subprogram declaration
@tab 246
@tab No set limit
@sp 1
@ -25317,13 +25315,13 @@ and GNAT systems.
@sp 1
@item Maximum number of objects declared with the pragma @code{COMMON_OBJECT}
or @code{PSECT_OBJECT}
or @code{PSECT_OBJECT}
@tab 32757
@tab No set limit
@sp 1
@item Maximum number of enumeration literals in an enumeration type
definition
definition
@tab 65535
@tab No set limit
@sp 1
@ -25422,35 +25420,35 @@ of the DECset package.
@c @multitable @columnfractions .3 .4 .4
@multitable {Source Code Analyzer /}{Tool with HP Ada}{Tool with GNAT Pro}
@item @i{Tool}
@tab @i{Tool with HP Ada}
@tab @i{Tool with @value{EDITION}}
@tab @i{Tool with HP Ada}
@tab @i{Tool with @value{EDITION}}
@item Code Management@*System
@tab HP CMS
@tab HP CMS
@tab HP CMS
@tab HP CMS
@item Language-Sensitive@*Editor
@tab HP LSE
@tab emacs or HP LSE (Alpha)
@tab HP LSE
@tab emacs or HP LSE (Alpha)
@item
@tab
@tab HP LSE (I64)
@tab
@tab HP LSE (I64)
@item Debugger
@tab OpenVMS Debug
@tab gdb (Alpha),
@tab OpenVMS Debug
@tab gdb (Alpha),
@item
@tab
@tab OpenVMS Debug (I64)
@tab
@tab OpenVMS Debug (I64)
@item Source Code Analyzer /@*Cross Referencer
@tab HP SCA
@tab GNAT XREF
@tab HP SCA
@tab GNAT XREF
@item Test Manager
@tab HP Digital Test@*Manager (DTM)
@tab HP DTM
@tab HP Digital Test@*Manager (DTM)
@tab HP DTM
@item Performance and@*Coverage Analyzer
@tab HP PCA
@tab HP PCA
@tab HP PCA
@tab HP PCA
@item Module Management@*System
@tab HP MMS
@tab Not applicable
@tab HP MMS
@tab Not applicable
@end multitable
@end flushleft
@end ifnottex
@ -25787,16 +25785,16 @@ to one of the following:
@table @code
@item -2
Use the default configuration (run the program on all
available processors) - this is the same as having
@code{GNAT_PROCESSOR} unset
available processors) - this is the same as having @code{GNAT_PROCESSOR}
unset
@item -1
Let the run-time implementation choose one processor and run the program on
that processor
that processor
@item 0 .. Last_Proc
Run the program on the specified processor.
@code{Last_Proc} is equal to @code{_SC_NPROCESSORS_CONF - 1}
@code{Last_Proc} is equal to @code{_SC_NPROCESSORS_CONF - 1}
(where @code{_SC_NPROCESSORS_CONF} is a system variable).
@end table

View File

@ -52,7 +52,7 @@ This manual contains no Invariant Sections. The Front-Cover Texts are
@ifinfo
@dircategory Software development
@direntry
* Cpp: (cpp). The GNU C preprocessor.
* Cpp: (cpp). The GNU C preprocessor.
@end direntry
@end ifinfo

View File

@ -541,7 +541,7 @@ files previously preprocessed with @code{-E -fdirectives-only}.
@anchor{fdollars-in-identifiers}
Accept @samp{$} in identifiers.
@ifset cppmanual
@xref{Identifier characters}.
@xref{Identifier characters}.
@end ifset
@item -fextended-identifiers

View File

@ -28,10 +28,10 @@ extensions, accepted by GCC in C89 mode and in C++.
* Local Labels:: Labels local to a block.
* Labels as Values:: Getting pointers to labels, and computed gotos.
* Nested Functions:: As in Algol and Pascal, lexical scoping of functions.
* Constructing Calls:: Dispatching a call to another function.
* Constructing Calls:: Dispatching a call to another function.
* Typeof:: @code{typeof}: referring to the type of an expression.
* Conditionals:: Omitting the middle operand of a @samp{?:} expression.
* Long Long:: Double-word integers---@code{long long int}.
* Long Long:: Double-word integers---@code{long long int}.
* Complex:: Data types for complex numbers.
* Floating Types:: Additional Floating Types.
* Decimal Float:: Decimal Floating Types.
@ -40,41 +40,41 @@ extensions, accepted by GCC in C89 mode and in C++.
* Zero Length:: Zero-length arrays.
* Variable Length:: Arrays whose length is computed at run time.
* Empty Structures:: Structures with no members.
* Variadic Macros:: Macros with a variable number of arguments.
* Variadic Macros:: Macros with a variable number of arguments.
* Escaped Newlines:: Slightly looser rules for escaped newlines.
* Subscripting:: Any array can be subscripted, even if not an lvalue.
* Pointer Arith:: Arithmetic on @code{void}-pointers and function pointers.
* Initializers:: Non-constant initializers.
* Compound Literals:: Compound literals give structures, unions
or arrays as values.
* Designated Inits:: Labeling elements of initializers.
or arrays as values.
* Designated Inits:: Labeling elements of initializers.
* Cast to Union:: Casting to union type from any member of the union.
* Case Ranges:: `case 1 ... 9' and such.
* Mixed Declarations:: Mixing declarations and code.
* Case Ranges:: `case 1 ... 9' and such.
* Mixed Declarations:: Mixing declarations and code.
* Function Attributes:: Declaring that functions have no side effects,
or that they can never return.
or that they can never return.
* Attribute Syntax:: Formal syntax for attributes.
* Function Prototypes:: Prototype declarations and old-style definitions.
* C++ Comments:: C++ comments are recognized.
* Dollar Signs:: Dollar sign is allowed in identifiers.
* Character Escapes:: @samp{\e} stands for the character @key{ESC}.
* Variable Attributes:: Specifying attributes of variables.
* Type Attributes:: Specifying attributes of types.
* Variable Attributes:: Specifying attributes of variables.
* Type Attributes:: Specifying attributes of types.
* Alignment:: Inquiring about the alignment of a type or variable.
* Inline:: Defining inline functions (as fast as macros).
* Extended Asm:: Assembler instructions with C expressions as operands.
(With them you can define ``built-in'' functions.)
(With them you can define ``built-in'' functions.)
* Constraints:: Constraints for asm operands
* Asm Labels:: Specifying the assembler name to use for a C symbol.
* Explicit Reg Vars:: Defining variables residing in specified registers.
* Alternate Keywords:: @code{__const__}, @code{__asm__}, etc., for header files.
* Incomplete Enums:: @code{enum foo;}, with details to follow.
* Function Names:: Printable strings which are the name of the current
function.
* Function Names:: Printable strings which are the name of the current
function.
* Return Address:: Getting the return or frame address of a function.
* Vector Extensions:: Using vector instructions through built-in functions.
* Offsetof:: Special syntax for implementing @code{offsetof}.
* Atomic Builtins:: Built-in functions for atomic memory access.
* Atomic Builtins:: Built-in functions for atomic memory access.
* Object Size Checking:: Built-in functions for limited buffer overflow
checking.
* Other Builtins:: Other built-in functions.
@ -2584,7 +2584,7 @@ be non-null pointers. For instance, the declaration:
@smallexample
extern void *
my_memcpy (void *dest, const void *src, size_t len)
__attribute__((nonnull (1, 2)));
__attribute__((nonnull (1, 2)));
@end smallexample
@noindent
@ -2602,7 +2602,7 @@ following declaration is equivalent to the previous example:
@smallexample
extern void *
my_memcpy (void *dest, const void *src, size_t len)
__attribute__((nonnull));
__attribute__((nonnull));
@end smallexample
@item noreturn
@ -5503,12 +5503,12 @@ the @code{offsetof} macro.
@smallexample
primary:
"__builtin_offsetof" "(" @code{typename} "," offsetof_member_designator ")"
"__builtin_offsetof" "(" @code{typename} "," offsetof_member_designator ")"
offsetof_member_designator:
@code{identifier}
| offsetof_member_designator "." @code{identifier}
| offsetof_member_designator "[" @code{expr} "]"
@code{identifier}
| offsetof_member_designator "." @code{identifier}
| offsetof_member_designator "[" @code{expr} "]"
@end smallexample
This extension is sufficient such that
@ -5701,7 +5701,7 @@ assert (__builtin_object_size (p, 0) == sizeof (var) - 1);
assert (__builtin_object_size (p, 1) == sizeof (var.buf1) - 1);
/* The object q points to is var. */
assert (__builtin_object_size (q, 0)
== (char *) (&var + 1) - (char *) &var.b);
== (char *) (&var + 1) - (char *) &var.b);
/* The subobject q points to is var.b. */
assert (__builtin_object_size (q, 1) == sizeof (var.b));
@end smallexample
@ -5753,11 +5753,11 @@ There are also checking built-in functions for formatted output functions.
@smallexample
int __builtin___sprintf_chk (char *s, int flag, size_t os, const char *fmt, ...);
int __builtin___snprintf_chk (char *s, size_t maxlen, int flag, size_t os,
const char *fmt, ...);
const char *fmt, ...);
int __builtin___vsprintf_chk (char *s, int flag, size_t os, const char *fmt,
va_list ap);
va_list ap);
int __builtin___vsnprintf_chk (char *s, size_t maxlen, int flag, size_t os,
const char *fmt, va_list ap);
const char *fmt, va_list ap);
@end smallexample
The added @var{flag} argument is passed unchanged to @code{__sprintf_chk}
@ -11795,7 +11795,7 @@ test specifically for GNU C++ (@pxref{Common Predefined Macros,,
Predefined Macros,cpp,The GNU C Preprocessor}).
@menu
* Volatiles:: What constitutes an access to a volatile object.
* Volatiles:: What constitutes an access to a volatile object.
* Restricted Pointers:: C99 restricted pointers and references.
* Vague Linkage:: Where G++ puts inlines, vtables and such.
* C++ Interface:: You can use a single C++ header file for both

View File

@ -147,12 +147,12 @@ Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
* GNU Project:: The GNU Project and GNU/Linux.
* Copying:: GNU General Public License says
how you can copy and share GCC.
how you can copy and share GCC.
* GNU Free Documentation License:: How you can copy and share this manual.
* Contributors:: People who have contributed to GCC.
* Option Index:: Index to command line options.
* Keyword Index:: Index of concepts and symbol names.
* Keyword Index:: Index of concepts and symbol names.
@end menu
@include frontends.texi

View File

@ -125,7 +125,7 @@ Additional tutorial information is linked to from
* GNU Project:: The GNU Project and GNU/Linux.
* Copying:: GNU General Public License says
how you can copy and share GCC.
how you can copy and share GCC.
* GNU Free Documentation License:: How you can copy and share this manual.
* Contributors:: People who have contributed to GCC.

View File

@ -38,8 +38,8 @@ included in the gfdl(7) man page.
test code coverage in your programs.
@menu
* Gcov Intro:: Introduction to gcov.
* Invoking Gcov:: How to use gcov.
* Gcov Intro:: Introduction to gcov.
* Invoking Gcov:: How to use gcov.
* Gcov and Optimization:: Using gcov with GCC optimization.
* Gcov Data Files:: The files used by gcov.
* Cross-profiling:: Data file relocation.

View File

@ -66,9 +66,9 @@ The parser understands simple typedefs such as
These don't need to be marked.
@menu
* GTY Options:: What goes inside a @code{GTY(())}.
* GGC Roots:: Making global variables GGC roots.
* Files:: How the generated files work.
* GTY Options:: What goes inside a @code{GTY(())}.
* GGC Roots:: Making global variables GGC roots.
* Files:: How the generated files work.
@end menu
@node GTY Options
@ -136,7 +136,7 @@ the length of an array. The first case is when a structure ends in a
variable-length array, like this:
@smallexample
struct rtvec_def GTY(()) @{
int num_elem; /* @r{number of elements} */
int num_elem; /* @r{number of elements} */
rtx GTY ((length ("%h.num_elem"))) elem[1];
@};
@end smallexample

View File

@ -22,9 +22,9 @@ definitions, consider using the @code{xm_defines} variable in your
header. @xref{System Config}.
@menu
* Host Common:: Things every host probably needs implemented.
* Host Common:: Things every host probably needs implemented.
* Filesystem:: Your host can't have the letter `a' in filenames?
* Host Misc:: Rare configuration options for hosts.
* Host Misc:: Rare configuration options for hosts.
@end menu
@node Host Common

View File

@ -655,7 +655,7 @@ internal data files of GCC@. The default is @file{@var{exec-prefix}/lib}.
@item --libexecdir=@var{dirname}
Specify the installation directory for internal executables of GCC@.
The default is @file{@var{exec-prefix}/libexec}.
The default is @file{@var{exec-prefix}/libexec}.
@item --with-slibdir=@var{dirname}
Specify the installation directory for the shared libgcc library. The

View File

@ -120,11 +120,11 @@ only one of these two forms, whichever one is not the default.
@xref{Option Index}, for an index to GCC's options.
@menu
* Option Summary:: Brief list of all options, without explanations.
* Option Summary:: Brief list of all options, without explanations.
* Overall Options:: Controlling the kind of output:
an executable, object files, assembler files,
or preprocessed source.
* Invoking G++:: Compiling C++ programs.
* Invoking G++:: Compiling C++ programs.
* C Dialect Options:: Controlling the variant of C language compiled.
* C++ Dialect Options:: Variations on C++.
* Objective-C and Objective-C++ Dialect Options:: Variations on Objective-C
@ -748,7 +748,7 @@ See RS/6000 and PowerPC Options.
-mprefergot -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol
-mdivsi3_libfunc=@var{name} -mfixed-range=@var{register-range} @gol
-madjust-unroll -mindexed-addressing -mgettrcost=@var{number} -mpt-fixed @gol
-minvalid-symbols}
-minvalid-symbols}
@emph{SPARC Options}
@gccoptlist{-mcpu=@var{cpu-type} @gol
@ -5349,9 +5349,9 @@ as follows:
@table @gcctabopt
@item max-inline-insns-single
is set to @var{n}/2.
is set to @var{n}/2.
@item max-inline-insns-auto
is set to @var{n}/2.
is set to @var{n}/2.
@end table
See below for a documentation of the individual
@ -9028,7 +9028,7 @@ link scripts will be used to put the application into SDRAM.
Loader should initialize SDRAM before loading the application
into SDRAM. This option defines @code{__BFIN_SDRAM}.
@end table
@node CRIS Options
@subsection CRIS Options
@cindex CRIS Options

View File

@ -17,16 +17,16 @@ RTL, as well as the interfaces to loop-related analyses (induction
variable analysis and number of iterations analysis).
@menu
* Loop representation:: Representation and analysis of loops.
* Loop querying:: Getting information about loops.
* Loop manipulation:: Loop manipulation functions.
* LCSSA:: Loop-closed SSA form.
* Scalar evolutions:: Induction variables on GIMPLE.
* loop-iv:: Induction variables on RTL.
* Number of iterations:: Number of iterations analysis.
* Dependency analysis:: Data dependency analysis.
* Lambda:: Linear loop transformations framework.
* Omega:: A solver for linear programming problems.
* Loop representation:: Representation and analysis of loops.
* Loop querying:: Getting information about loops.
* Loop manipulation:: Loop manipulation functions.
* LCSSA:: Loop-closed SSA form.
* Scalar evolutions:: Induction variables on GIMPLE.
* loop-iv:: Induction variables on RTL.
* Number of iterations:: Number of iterations analysis.
* Dependency analysis:: Data dependency analysis.
* Lambda:: Linear loop transformations framework.
* Omega:: A solver for linear programming problems.
@end menu
@node Loop representation

View File

@ -103,8 +103,8 @@ compiler as bootstrapping from scratch, but it ensures that the new
code is syntactically correct (e.g., that you did not use GCC extensions
by mistake), and avoids spurious bootstrap comparison
failures@footnote{Except if the compiler was buggy and miscompiled
some of the files that were not modified. In this case, it's best
to use @command{make restrap}.}.
some of the files that were not modified. In this case, it's best
to use @command{make restrap}.}.
Other targets available from the top level include:
@ -149,7 +149,7 @@ the system compiler is rebuilt.
For each package that is bootstrapped, rename directories so that,
for example, @file{gcc} points to the stage@var{N} GCC, compiled
with the stage@var{N-1} GCC@footnote{Customarily, the system compiler
is also termed the @file{stage0} GCC.}.
is also termed the @file{stage0} GCC.}.
You will invoke this target if you need to test or debug the
stage@var{N} GCC@. If you only need to execute GCC (but you need

View File

@ -25,11 +25,11 @@ See the next chapter for information on the C header file.
* Example:: An explained example of a @code{define_insn} pattern.
* RTL Template:: The RTL template defines what insns match a pattern.
* Output Template:: The output template says how to make assembler code
from such an insn.
from such an insn.
* Output Statement:: For more generality, write C code to output
the assembler code.
the assembler code.
* Predicates:: Controlling what kinds of operands can be used
for an insn.
for an insn.
* Constraints:: Fine-tuning operand selection.
* Standard Names:: Names mark patterns to use for code generation.
* Pattern Ordering:: When the order of patterns makes a difference.
@ -38,13 +38,13 @@ See the next chapter for information on the C header file.
* Looping Patterns:: How to define patterns for special looping insns.
* Insn Canonicalizations::Canonicalization of Instructions
* Expander Definitions::Generating a sequence of several RTL insns
for a standard operation.
for a standard operation.
* Insn Splitting:: Splitting Instructions into Multiple Instructions.
* Including Patterns:: Including Patterns in Machine Descriptions.
* Including Patterns:: Including Patterns in Machine Descriptions.
* Peephole Definitions::Defining machine-specific peephole optimizations.
* Insn Attributes:: Specifying the value of attributes for generated insns.
* Conditional Execution::Generating @code{define_insn} patterns for
predication.
predication.
* Constant Definitions::Defining symbolic constants that can be used in the
md file.
* Iterators:: Using iterators to generate patterns from a template.
@ -1629,7 +1629,7 @@ it includes both constraints that are useful for @code{asm} and
constraints that aren't. The compiler source file mentioned in the
table heading for each architecture is the definitive reference for
the meanings of that architecture's constraints.
@table @emph
@item ARM family---@file{config/arm/arm.h}
@table @code
@ -2849,10 +2849,10 @@ Signed 16-bit constant (@minus{}32768--32767)
@item L
Value appropriate as displacement.
@table @code
@item (0..4095)
for short displacement
@item (-524288..524287)
for long displacement
@item (0..4095)
for short displacement
@item (-524288..524287)
for long displacement
@end table
@item M
@ -2861,14 +2861,14 @@ Constant integer with a value of 0x7fffffff.
@item N
Multiple letter constraint followed by 4 parameter letters.
@table @code
@item 0..9:
number of the part counting from most to least significant
@item H,Q:
mode of the part
@item D,S,H:
mode of the containing operand
@item 0,F:
value of the other parts (F---all bits set)
@item 0..9:
number of the part counting from most to least significant
@item H,Q:
mode of the part
@item D,S,H:
mode of the containing operand
@item 0,F:
value of the other parts (F---all bits set)
@end table
The constraint matches if the specified part of a constant
has a value different from its other parts.
@ -3398,8 +3398,8 @@ definition from the i386 machine description.)
(define_peephole2
[(match_scratch:SI 3 "r")
(set (match_operand:SI 0 "register_operand" "")
(mult:SI (match_operand:SI 1 "memory_operand" "")
(match_operand:SI 2 "immediate_operand" "")))]
(mult:SI (match_operand:SI 1 "memory_operand" "")
(match_operand:SI 2 "immediate_operand" "")))]
"!satisfies_constraint_K (operands[2])"
@ -5440,15 +5440,15 @@ following for its @code{dbra} instruction:
@group
(define_insn "decrement_and_branch_until_zero"
[(set (pc)
(if_then_else
(ge (plus:SI (match_operand:SI 0 "general_operand" "+d*am")
(const_int -1))
(const_int 0))
(label_ref (match_operand 1 "" ""))
(pc)))
(if_then_else
(ge (plus:SI (match_operand:SI 0 "general_operand" "+d*am")
(const_int -1))
(const_int 0))
(label_ref (match_operand 1 "" ""))
(pc)))
(set (match_dup 0)
(plus:SI (match_dup 0)
(const_int -1)))]
(plus:SI (match_dup 0)
(const_int -1)))]
"find_reg_note (insn, REG_NONNEG, 0)"
"@dots{}")
@end group
@ -5466,14 +5466,14 @@ pattern will not be matched by the combiner.
@group
(define_insn "decrement_and_branch_until_zero"
[(set (pc)
(if_then_else
(ge (match_operand:SI 0 "general_operand" "+d*am")
(const_int 1))
(label_ref (match_operand 1 "" ""))
(pc)))
(if_then_else
(ge (match_operand:SI 0 "general_operand" "+d*am")
(const_int 1))
(label_ref (match_operand 1 "" ""))
(pc)))
(set (match_dup 0)
(plus:SI (match_dup 0)
(const_int -1)))]
(plus:SI (match_dup 0)
(const_int -1)))]
"find_reg_note (insn, REG_NONNEG, 0)"
"@dots{}")
@end group
@ -6095,7 +6095,7 @@ from i386.md:
"&& reload_completed"
[(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")])
@ -7236,10 +7236,10 @@ the instruction issue is possible if there is a transition from one
automaton state to another one. This algorithm is very fast, and
furthermore, its speed is not dependent on processor
complexity@footnote{However, the size of the automaton depends on
processor complexity. To limit this effect, machine descriptions
can split orthogonal parts of the machine description among several
automata: but then, since each of these must be stepped independently,
this does cause a small decrease in the algorithm's performance.}.
processor complexity. To limit this effect, machine descriptions
can split orthogonal parts of the machine description among several
automata: but then, since each of these must be stepped independently,
this does cause a small decrease in the algorithm's performance.}.
@cindex automaton based pipeline description
The rest of this section describes the directives that constitute
@ -7839,8 +7839,8 @@ rtx-based construct, such as a @code{define_insn},
@menu
* Defining Mode Iterators:: Defining a new mode iterator.
* Substitutions:: Combining mode iterators with substitutions
* Examples:: Examples
* Substitutions:: Combining mode iterators with substitutions
* Examples:: Examples
@end menu
@node Defining Mode Iterators

View File

@ -29,13 +29,13 @@ The files can contain the following types of record:
@itemize @bullet
@item
A language definition record.  These records have two fields: the
string @samp{Language} and the name of the language.  Once a language
A language definition record. These records have two fields: the
string @samp{Language} and the name of the language. Once a language
has been declared in this way, it can be used as an option property.
@xref{Option properties}.
@item
An option definition record.  These records have the following fields:
An option definition record. These records have the following fields:
@enumerate
@item
@ -62,11 +62,11 @@ tab forms the help text. This allows you to elaborate on what type
of argument the option takes.
@item
A target mask record.  These records have one field of the form
@samp{Mask(@var{x})}.  The options-processing script will automatically
A target mask record. These records have one field of the form
@samp{Mask(@var{x})}. The options-processing script will automatically
allocate a bit in @code{target_flags} (@pxref{Run-time Target}) for
each mask name @var{x} and set the macro @code{MASK_@var{x}} to the
appropriate bitmask.  It will also declare a @code{TARGET_@var{x}}
appropriate bitmask. It will also declare a @code{TARGET_@var{x}}
macro that has the value 1 when bit @code{MASK_@var{x}} is set and
0 otherwise.

View File

@ -20,7 +20,7 @@ where near complete.
@menu
* Parsing pass:: The language front end turns text into bits.
* Gimplification pass:: The bits are turned into something we can optimize.
* Pass manager:: Sequencing the optimization passes.
* Pass manager:: Sequencing the optimization passes.
* Tree-SSA passes:: Optimizations on a high-level representation.
* RTL passes:: Optimizations on a low-level representation.
@end menu

View File

@ -198,9 +198,7 @@ timestamp.
@itemize @bullet
@item The standard GNU @file{config.sub} and @file{config.guess}
files, kept in the top level directory, are used. FIXME: when is the
@file{config.guess} file in the @file{gcc} directory (that just calls
the top level one) used?
files, kept in the top level directory, are used.
@item The file @file{config.gcc} is used to handle configuration
specific to the particular target machine. The file

View File

@ -35,7 +35,7 @@ through the macros defined in the @file{.h} file.
* Register Classes:: Defining the classes of hardware registers.
* Old Constraints:: The old way to define machine-specific constraints.
* Stack and Calling:: Defining which way the stack grows and by how much.
* Varargs:: Defining the varargs macros.
* Varargs:: Defining the varargs macros.
* Trampolines:: Code set up at run time to enter a nested function.
* Library Calls:: Controlling how library routines are implicitly called.
* Addressing Modes:: Defining addressing modes valid for memory operands.
@ -44,7 +44,7 @@ through the macros defined in the @file{.h} file.
* Costs:: Defining relative costs of different operations.
* Scheduling:: Adjusting the behavior of the instruction scheduler.
* Sections:: Dividing storage into text, data, and other sections.
* PIC:: Macros for position independent code.
* PIC:: Macros for position independent code.
* Assembler Format:: Defining how to write insns and pseudo-ops to output.
* Debugging Info:: Defining the format of debugging output.
* Floating Point:: Handling floating point for cross-compilers.
@ -1911,11 +1911,11 @@ For passing values in registers, see @ref{Register Arguments}.
For returning values in registers, see @ref{Scalar Return}.
@menu
* Register Basics:: Number and kinds of registers.
* Allocation Order:: Order in which registers are allocated.
* Values in Registers:: What kinds of values each reg can hold.
* Leaf Functions:: Renumbering registers for leaf functions.
* Stack Registers:: Handling a register stack such as 80387.
* Register Basics:: Number and kinds of registers.
* Allocation Order:: Order in which registers are allocated.
* Values in Registers:: What kinds of values each reg can hold.
* Leaf Functions:: Renumbering registers for leaf functions.
* Stack Registers:: Handling a register stack such as 80387.
@end menu
@node Register Basics
@ -2985,7 +2985,7 @@ be treated like memory constraints by the reload pass.
It should return 1 if the operand type represented by the constraint
at the start of @var{str}, the first letter of which is the letter @var{c},
comprises a subset of all memory references including
comprises a subset of all memory references including
all those whose address is simply a base register. This allows the reload
pass to reload an operand, if it does not directly correspond to the operand
type of @var{c}, by copying its address into a base register.
@ -6779,10 +6779,10 @@ instructions do.
* Uninitialized Data:: Output of uninitialized variables.
* Label Output:: Output and generation of labels.
* Initialization:: General principles of initialization
and termination routines.
and termination routines.
* Macros for Initialization::
Specific macros that control the handling of
initialization and termination routines.
Specific macros that control the handling of
initialization and termination routines.
* Instruction Output:: Output of actual instructions.
* Dispatch Tables:: Output of jump tables.
* Exception Region Output:: Output of exception region code.
@ -6911,7 +6911,7 @@ This is true on most ELF targets.
Choose a set of section attributes for use by @code{TARGET_ASM_NAMED_SECTION}
based on a variable or function decl, a section name, and whether or not the
declaration's initializer may contain runtime relocations. @var{decl} may be
null, in which case read-write data should be assumed.
null, in which case read-write data should be assumed.
The default version of this function handles choosing code vs data,
read-only vs read-write data, and @code{flag_pic}. You should only
@ -7115,7 +7115,7 @@ assembler for grouping arithmetic expressions. If not overridden, they
default to normal parentheses, which is correct for most assemblers.
@end deftypevr
These macros are provided by @file{real.h} for writing the definitions
These macros are provided by @file{real.h} for writing the definitions
of @code{ASM_OUTPUT_DOUBLE} and the like:
@defmac REAL_VALUE_TO_TARGET_SINGLE (@var{x}, @var{l})

View File

@ -37,12 +37,12 @@ functions and programming constructs needed to implement optimization
passes for GIMPLE@.
@menu
* GENERIC:: A high-level language-independent representation.
* GENERIC:: A high-level language-independent representation.
* GIMPLE:: A lower-level factored tree representation.
* Annotations:: Attributes for statements and variables.
* Statement Operands:: Variables referenced by GIMPLE statements.
* SSA:: Static Single Assignment representation.
* Alias analysis:: Representing aliased loads and stores.
* Annotations:: Attributes for statements and variables.
* Statement Operands:: Variables referenced by GIMPLE statements.
* SSA:: Static Single Assignment representation.
* Alias analysis:: Representing aliased loads and stores.
@end menu
@node GENERIC
@ -735,10 +735,10 @@ void f()
| RELOP
op0 -> val
op1 -> val
| COND_EXPR
op0 -> condition
op1 -> val
op2 -> val
| COND_EXPR
op0 -> condition
op1 -> val
op2 -> val
@end smallexample
@node Annotations
@ -943,7 +943,7 @@ How to choose the appropriate iterator:
@enumerate
@item Determine whether you are need to see the operand pointers, or just the
trees, and choose the appropriate macro:
trees, and choose the appropriate macro:
@smallexample
Need Macro:
@ -954,12 +954,12 @@ tree FOR_EACH_SSA_TREE_OPERAND
@end smallexample
@item You need to declare a variable of the type you are interested
in, and an ssa_op_iter structure which serves as the loop
controlling variable.
in, and an ssa_op_iter structure which serves as the loop controlling
variable.
@item Determine which operands you wish to use, and specify the flags of
those you are interested in. They are documented in
@file{tree-ssa-operands.h}:
those you are interested in. They are documented in
@file{tree-ssa-operands.h}:
@smallexample
#define SSA_OP_USE 0x01 /* @r{Real USE operands.} */
@ -1228,27 +1228,27 @@ which''.
The following macros can be used to examine PHI nodes
@defmac PHI_RESULT (@var{phi})
@defmac PHI_RESULT (@var{phi})
Returns the @code{SSA_NAME} created by PHI node @var{phi} (i.e.,
@var{phi}'s LHS)@.
@end defmac
@defmac PHI_NUM_ARGS (@var{phi})
@defmac PHI_NUM_ARGS (@var{phi})
Returns the number of arguments in @var{phi}. This number is exactly
the number of incoming edges to the basic block holding @var{phi}@.
@end defmac
@defmac PHI_ARG_ELT (@var{phi}, @var{i})
@defmac PHI_ARG_ELT (@var{phi}, @var{i})
Returns a tuple representing the @var{i}th argument of @var{phi}@.
Each element of this tuple contains an @code{SSA_NAME} @var{var} and
the incoming edge through which @var{var} flows.
@end defmac
@defmac PHI_ARG_EDGE (@var{phi}, @var{i})
@defmac PHI_ARG_EDGE (@var{phi}, @var{i})
Returns the incoming edge for the @var{i}th argument of @var{phi}.
@end defmac
@defmac PHI_ARG_DEF (@var{phi}, @var{i})
@defmac PHI_ARG_DEF (@var{phi}, @var{i})
Returns the @code{SSA_NAME} for the @var{i}th argument of @var{phi}.
@end defmac
@ -1274,36 +1274,36 @@ the program@.
For instance, given the following code:
@smallexample
1 L0:
2 x_1 = PHI (0, x_5)
3 if (x_1 < 10)
4 if (x_1 > 7)
5 y_2 = 0
6 else
7 y_3 = x_1 + x_7
8 endif
9 x_5 = x_1 + 1
1 L0:
2 x_1 = PHI (0, x_5)
3 if (x_1 < 10)
4 if (x_1 > 7)
5 y_2 = 0
6 else
7 y_3 = x_1 + x_7
8 endif
9 x_5 = x_1 + 1
10 goto L0;
11 endif
11 endif
@end smallexample
Suppose that we insert new names @code{x_10} and @code{x_11} (lines
@code{4} and @code{8})@.
@smallexample
1 L0:
2 x_1 = PHI (0, x_5)
3 if (x_1 < 10)
4 x_10 = @dots{}
5 if (x_1 > 7)
6 y_2 = 0
7 else
8 x_11 = @dots{}
9 y_3 = x_1 + x_7
10 endif
11 x_5 = x_1 + 1
12 goto L0;
13 endif
1 L0:
2 x_1 = PHI (0, x_5)
3 if (x_1 < 10)
4 x_10 = @dots{}
5 if (x_1 > 7)
6 y_2 = 0
7 else
8 x_11 = @dots{}
9 y_3 = x_1 + x_7
10 endif
11 x_5 = x_1 + 1
12 goto L0;
13 endif
@end smallexample
We want to replace all the uses of @code{x_1} with the new definitions
@ -1341,40 +1341,40 @@ There are several @code{TODO} flags that control the behavior of
@itemize @bullet
@item @code{TODO_update_ssa}. Update the SSA form inserting PHI nodes
for newly exposed symbols and virtual names marked for updating.
When updating real names, only insert PHI nodes for a real name
@code{O_j} in blocks reached by all the new and old definitions for
@code{O_j}. If the iterated dominance frontier for @code{O_j}
is not pruned, we may end up inserting PHI nodes in blocks that
have one or more edges with no incoming definition for
@code{O_j}. This would lead to uninitialized warnings for
@code{O_j}'s symbol@.
for newly exposed symbols and virtual names marked for updating.
When updating real names, only insert PHI nodes for a real name
@code{O_j} in blocks reached by all the new and old definitions for
@code{O_j}. If the iterated dominance frontier for @code{O_j}
is not pruned, we may end up inserting PHI nodes in blocks that
have one or more edges with no incoming definition for
@code{O_j}. This would lead to uninitialized warnings for
@code{O_j}'s symbol@.
@item @code{TODO_update_ssa_no_phi}. Update the SSA form without
inserting any new PHI nodes at all. This is used by passes that
have either inserted all the PHI nodes themselves or passes that
need only to patch use-def and def-def chains for virtuals
(e.g., DCE)@.
inserting any new PHI nodes at all. This is used by passes that
have either inserted all the PHI nodes themselves or passes that
need only to patch use-def and def-def chains for virtuals
(e.g., DCE)@.
@item @code{TODO_update_ssa_full_phi}. Insert PHI nodes everywhere
they are needed. No pruning of the IDF is done. This is used
by passes that need the PHI nodes for @code{O_j} even if it
means that some arguments will come from the default definition
of @code{O_j}'s symbol (e.g., @code{pass_linear_transform})@.
they are needed. No pruning of the IDF is done. This is used
by passes that need the PHI nodes for @code{O_j} even if it
means that some arguments will come from the default definition
of @code{O_j}'s symbol (e.g., @code{pass_linear_transform})@.
WARNING: If you need to use this flag, chances are that your
pass may be doing something wrong. Inserting PHI nodes for an
old name where not all edges carry a new replacement may lead to
silent codegen errors or spurious uninitialized warnings@.
WARNING: If you need to use this flag, chances are that your
pass may be doing something wrong. Inserting PHI nodes for an
old name where not all edges carry a new replacement may lead to
silent codegen errors or spurious uninitialized warnings@.
@item @code{TODO_update_ssa_only_virtuals}. Passes that update the
SSA form on their own may want to delegate the updating of
virtual names to the generic updater. Since FUD chains are
easier to maintain, this simplifies the work they need to do.
NOTE: If this flag is used, any OLD->NEW mappings for real names
are explicitly destroyed and only the symbols marked for
renaming are processed@.
SSA form on their own may want to delegate the updating of
virtual names to the generic updater. Since FUD chains are
easier to maintain, this simplifies the work they need to do.
NOTE: If this flag is used, any OLD->NEW mappings for real names
are explicitly destroyed and only the symbols marked for
renaming are processed@.
@end itemize
@subsection Preserving the virtual SSA form
@ -1445,8 +1445,8 @@ slightly different. For each argument @var{arg} of the PHI node, this
function will:
@enumerate
@item Walk the use-def chains for @var{arg}.
@item Call @code{FN (@var{arg}, @var{phi}, @var{data})}.
@item Walk the use-def chains for @var{arg}.
@item Call @code{FN (@var{arg}, @var{phi}, @var{data})}.
@end enumerate
Note how the first argument to @var{fn} is no longer the original
@ -1466,26 +1466,26 @@ hooks to execute custom code at various points during traversal:
@enumerate
@item Once to initialize any local data needed while processing
@var{bb} and its children. This local data is pushed into an
internal stack which is automatically pushed and popped as the
walker traverses the dominator tree.
@var{bb} and its children. This local data is pushed into an
internal stack which is automatically pushed and popped as the
walker traverses the dominator tree.
@item Once before traversing all the statements in the @var{bb}.
@item Once for every statement inside @var{bb}.
@item Once after traversing all the statements and before recursing
into @var{bb}'s dominator children.
into @var{bb}'s dominator children.
@item It then recurses into all the dominator children of @var{bb}.
@item After recursing into all the dominator children of @var{bb} it
can, optionally, traverse every statement in @var{bb} again
(i.e., repeating steps 2 and 3).
can, optionally, traverse every statement in @var{bb} again
(i.e., repeating steps 2 and 3).
@item Once after walking the statements in @var{bb} and @var{bb}'s
dominator children. At this stage, the block local data stack
is popped.
dominator children. At this stage, the block local data stack
is popped.
@end enumerate
@end deftypefn
@ -1535,16 +1535,16 @@ int bar (void)
If you copy the symbol tag for a variable for some reason, you probably
also want to copy the subvariables for that variable.
@item Points-to and escape analysis.
@item Points-to and escape analysis.
This phase walks the use-def chains in the SSA web looking for
three things:
@itemize @bullet
@item Assignments of the form @code{P_i = &VAR}
@item Assignments of the form P_i = malloc()
@item Pointers and ADDR_EXPR that escape the current function.
@end itemize
@itemize @bullet
@item Assignments of the form @code{P_i = &VAR}
@item Assignments of the form P_i = malloc()
@item Pointers and ADDR_EXPR that escape the current function.
@end itemize
The concept of `escaping' is the same one used in the Java world.
When a pointer or an ADDR_EXPR escapes, it means that it has been
@ -1562,7 +1562,7 @@ call-clobbered. Simply put, if an ADDR_EXPR escapes, then the
variable is call-clobbered. If a pointer P_i escapes, then all
the variables pointed-to by P_i (and its memory tag) also escape.
@item Compute flow-sensitive aliases
@item Compute flow-sensitive aliases
We have two classes of memory tags. Memory tags associated with
the pointed-to data type of the pointers in the program. These
@ -1579,7 +1579,7 @@ associated with each pointer P_i. If P_i escapes, we mark
call-clobbered the variables it points to and its tag.
@item Compute flow-insensitive aliases
@item Compute flow-insensitive aliases
This pass will compare the alias set of every symbol memory tag and
every addressable variable found in the program. Given a symbol

View File

@ -19,21 +19,21 @@ missing features that are too much work to add, and some are places
where people's opinions differ as to what is best.
@menu
* Actual Bugs:: Bugs we will fix later.
* Cross-Compiler Problems:: Common problems of cross compiling with GCC.
* Actual Bugs:: Bugs we will fix later.
* Cross-Compiler Problems:: Common problems of cross compiling with GCC.
* Interoperation:: Problems using GCC with other compilers,
and with certain linkers, assemblers and debuggers.
and with certain linkers, assemblers and debuggers.
* Incompatibilities:: GCC is incompatible with traditional C.
* Fixed Headers:: GCC uses corrected versions of system header files.
This is necessary, but doesn't always work smoothly.
This is necessary, but doesn't always work smoothly.
* Standard Libraries:: GCC uses the system C library, which might not be
compliant with the ISO C standard.
compliant with the ISO C standard.
* Disappointments:: Regrettable things we can't change, but not quite bugs.
* C++ Misunderstandings:: Common misunderstandings with GNU C++.
* C++ Misunderstandings:: Common misunderstandings with GNU C++.
* Protoize Caveats:: Things to watch out for when using @code{protoize}.
* Non-bugs:: Things we think are right, but some others disagree.
* Non-bugs:: Things we think are right, but some others disagree.
* Warnings and Errors:: Which problems in your code get warnings,
and which get errors.
and which get errors.
@end menu
@node Actual Bugs

View File

@ -1,3 +1,10 @@
2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* gfc-internals.texi: Expand TABs, drop indentation outside examples.
* gfortran.texi: Likewise.
* intrinsic.texi: Likewise.
* invoke.texi: Likewise.
2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35863

View File

@ -121,7 +121,7 @@ not accurately reflect the status of the most recent GNU Fortran compiler.
Data structures used by the frontend
* LibGFortran:: The LibGFortran Runtime Library.
* GNU Free Documentation License::
How you can copy and share this manual.
How you can copy and share this manual.
* Index:: Index of this documentation.
@end menu
@end ifnottex

View File

@ -190,7 +190,7 @@ Part II: Language Reference
* Copying:: GNU General Public License says
how you can copy and share GNU Fortran.
* GNU Free Documentation License::
How you can copy and share this manual.
How you can copy and share this manual.
* Funding:: How to help assure continued work for free software.
* Option Index:: Index of command line options
* Keyword Index:: Index of concepts
@ -229,7 +229,7 @@ or alternative to, the unix @command{f95} command;
* Preprocessing and conditional compilation:: The Fortran preprocessor
* GNU Fortran and G77:: Why we chose to start from scratch.
* Project Status:: Status of GNU Fortran, roadmap, proposed extensions.
* Standards:: Standards supported by GNU Fortran.
* Standards:: Standards supported by GNU Fortran.
@end menu
@ -693,7 +693,7 @@ the modes are the same as for the @code{CONVERT} specifier:
@item @code{NATIVE} Use the native format. This is the default.
@item @code{SWAP} Swap between little- and big-endian.
@item @code{LITTLE_ENDIAN} Use the little-endian format
for unformatted files.
for unformatted files.
@item @code{BIG_ENDIAN} Use the big-endian format for unformatted files.
@end itemize
A missing mode for an exception is taken to mean @code{BIG_ENDIAN}.
@ -1415,9 +1415,9 @@ Valid values for @code{CONVERT} are:
@item @code{CONVERT='NATIVE'} Use the native format. This is the default.
@item @code{CONVERT='SWAP'} Swap between little- and big-endian.
@item @code{CONVERT='LITTLE_ENDIAN'} Use the little-endian representation
for unformatted files.
for unformatted files.
@item @code{CONVERT='BIG_ENDIAN'} Use the big-endian representation for
unformatted files.
unformatted files.
@end itemize
Using the option could look like this:

View File

@ -489,8 +489,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -789,8 +788,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{A} @tab The type of the argument shall be @code{REAL}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -1059,8 +1057,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{A} @tab The type of the argument shall be @code{REAL}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -2004,9 +2001,9 @@ Subroutine
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{CPTR} @tab scalar of the type @code{C_FUNPTR}. It is
@code{INTENT(IN)}.
@code{INTENT(IN)}.
@item @var{FPTR} @tab procedure pointer interoperable with @var{cptr}. It is
@code{INTENT(OUT)}.
@code{INTENT(OUT)}.
@end multitable
@item @emph{Example}:
@ -2062,13 +2059,13 @@ Subroutine
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{CPTR} @tab scalar of the type @code{C_PTR}. It is
@code{INTENT(IN)}.
@code{INTENT(IN)}.
@item @var{FPTR} @tab pointer interoperable with @var{cptr}. It is
@code{INTENT(OUT)}.
@code{INTENT(OUT)}.
@item @var{SHAPE} @tab (Optional) Rank-one array of type @code{INTEGER}
with @code{INTENT(IN)}. It shall be present
if and only if @var{fptr} is an array. The size
must be equal to the rank of @var{fptr}.
with @code{INTENT(IN)}. It shall be present
if and only if @var{fptr} is an array. The size
must be equal to the rank of @var{fptr}.
@end multitable
@item @emph{Example}:
@ -2115,8 +2112,7 @@ Inquiry function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Associated scalar pointer or interoperable scalar
or allocated allocatable variable with @code{TARGET}
attribute.
or allocated allocatable variable with @code{TARGET} attribute.
@end multitable
@item @emph{Return value}:
@ -2213,8 +2209,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{A} @tab The type shall be @code{REAL}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -2260,8 +2255,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -2315,11 +2309,10 @@ Subroutine, function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NAME} @tab The type shall be @code{CHARACTER} of default
kind and shall specify a valid path within the
file system.
kind and shall specify a valid path within the file system.
@item @var{STATUS} @tab (Optional) @code{INTEGER} status flag of the default
kind. Returns 0 on success, and a system specific
and nonzero error code otherwise.
kind. Returns 0 on success, and a system specific and nonzero error code
otherwise.
@end multitable
@item @emph{Example}:
@ -2434,13 +2427,11 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type may be @code{INTEGER}, @code{REAL},
or @code{COMPLEX}.
or @code{COMPLEX}.
@item @var{Y} @tab (Optional; only allowed if @var{X} is not
@code{COMPLEX}.) May be @code{INTEGER}
or @code{REAL}.
@code{COMPLEX}.) May be @code{INTEGER} or @code{REAL}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -2750,8 +2741,7 @@ Transformational function
@item @var{MASK} @tab The type shall be @code{LOGICAL}.
@item @var{DIM} @tab (Optional) The type shall be @code{INTEGER}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -2928,7 +2918,7 @@ Subroutine, function
@multitable @columnfractions .15 .70
@item @var{TIME} @tab The type shall be of type @code{INTEGER(KIND=8)}.
@item @var{RESULT} @tab The type shall be of type @code{CHARACTER} and
of default kind.
of default kind.
@end multitable
@item @emph{Return value}:
@ -2982,7 +2972,7 @@ Unavailable time and date parameters return blanks.
@item @tab @code{VALUE(6)}: @tab The minutes of the hour
@item @tab @code{VALUE(7)}: @tab The seconds of the minute
@item @tab @code{VALUE(8)}: @tab The milliseconds of the second
@end multitable
@end multitable
@item @emph{Standard}:
Fortran 95 and later
@ -2996,11 +2986,11 @@ Subroutine
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{DATE} @tab (Optional) The type shall be @code{CHARACTER(LEN=8)}
or larger, and of default kind.
or larger, and of default kind.
@item @var{TIME} @tab (Optional) The type shall be @code{CHARACTER(LEN=10)}
or larger, and of default kind.
or larger, and of default kind.
@item @var{ZONE} @tab (Optional) The type shall be @code{CHARACTER(LEN=5)}
or larger, and of default kind.
or larger, and of default kind.
@item @var{VALUES}@tab (Optional) The type shall be @code{INTEGER(8)}.
@end multitable
@ -3051,7 +3041,7 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab The type shall be @code{INTEGER}, @code{REAL},
or @code{COMPLEX}.
or @code{COMPLEX}.
@end multitable
@item @emph{Return value}:
@ -3098,9 +3088,9 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type may be @code{INTEGER}, @code{REAL},
or @code{COMPLEX}.
or @code{COMPLEX}.
@item @var{Y} @tab (Optional if @var{X} is not @code{COMPLEX}.) May be
@code{INTEGER} or @code{REAL}.
@code{INTEGER} or @code{REAL}.
@end multitable
@item @emph{Return value}:
@ -4060,10 +4050,10 @@ Subroutine, function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
kind.
kind.
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
Returns 0 on success, -1 on end-of-file, and a
system specific positive error code otherwise.
Returns 0 on success, -1 on end-of-file, and a system specific positive
error code otherwise.
@end multitable
@item @emph{Example}:
@ -4123,10 +4113,10 @@ Subroutine, function
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab The type shall be @code{INTEGER}.
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
kind.
kind.
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
Returns 0 on success, -1 on end-of-file and a
system specific positive error code otherwise.
Returns 0 on success, -1 on end-of-file and a system specific positive
error code otherwise.
@end multitable
@item @emph{Example}:
@ -4174,8 +4164,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{A} @tab The type shall be @code{REAL}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -4305,10 +4294,10 @@ Subroutine, function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
kind.
kind.
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
Returns 0 on success, -1 on end-of-file and a
system specific positive error code otherwise.
Returns 0 on success, -1 on end-of-file and a system specific positive
error code otherwise.
@end multitable
@item @emph{Example}:
@ -4362,10 +4351,10 @@ Subroutine, function
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab The type shall be @code{INTEGER}.
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
kind.
kind.
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
Returns 0 on success, -1 on end-of-file and a
system specific positive error code otherwise.
Returns 0 on success, -1 on end-of-file and a system specific positive
error code otherwise.
@end multitable
@item @emph{Example}:
@ -4581,7 +4570,7 @@ Subroutine, function
@item @var{UNIT} @tab An open I/O unit number of type @code{INTEGER}.
@item @var{BUFF} @tab The type shall be @code{INTEGER(4), DIMENSION(13)}.
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER(4)}. Returns 0
on success and a system specific error code otherwise.
on success and a system specific error code otherwise.
@end multitable
@item @emph{Example}:
@ -4873,9 +4862,9 @@ Subroutine
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NUMBER} @tab Shall be a scalar of type @code{INTEGER(4)},
@math{@var{NUMBER} \geq 0}
@math{@var{NUMBER} \geq 0}
@item @var{VALUE} @tab Shall be a scalar of type @code{CHARACTER}
and of default kind.
and of default kind.
@item @var{LENGTH} @tab (Option) Shall be a scalar of type @code{INTEGER(4)}.
@item @var{STATUS} @tab (Option) Shall be a scalar of type @code{INTEGER(4)}.
@end multitable
@ -4939,7 +4928,7 @@ Subroutine, function
@multitable @columnfractions .15 .70
@item @var{C} @tab The type shall be @code{CHARACTER} and of default kind.
@item @var{STATUS} @tab (Optional) status flag. Returns 0 on success,
a system specific and nonzero error code otherwise.
a system specific and nonzero error code otherwise.
@end multitable
@item @emph{Example}:
@ -5231,17 +5220,16 @@ Subroutine
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{TIME} @tab An @code{INTEGER} scalar expression
corresponding to a system time, with
@code{INTENT(IN)}.
corresponding to a system time, with @code{INTENT(IN)}.
@item @var{VALUES} @tab A default @code{INTEGER} array with 9 elements,
with @code{INTENT(OUT)}.
with @code{INTENT(OUT)}.
@end multitable
@item @emph{Return value}:
The elements of @var{VALUES} are assigned as follows:
@enumerate
@item Seconds after the minute, range 0--59 or 0--61 to allow for leap
seconds
seconds
@item Minutes after the hour, range 0--59
@item Hours past midnight, range 0--23
@item Day of month, range 0--31
@ -5250,8 +5238,7 @@ The elements of @var{VALUES} are assigned as follows:
@item Number of days since Sunday, range 0--6
@item Days since January 1
@item Daylight savings indicator: positive if daylight savings is in
effect, zero if not, and negative if the information is not
available.
effect, zero if not, and negative if the information is not available.
@end enumerate
@item @emph{See also}:
@ -5289,8 +5276,7 @@ Subroutine, function
@multitable @columnfractions .15 .70
@item @var{C} @tab Shall of type @code{CHARACTER} and of default kind.
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
Returns 0 on success, or a system specific error
code otherwise.
Returns 0 on success, or a system specific error code otherwise.
@end multitable
@item @emph{Return value}:
@ -5405,8 +5391,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{C} @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -5662,8 +5647,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{C} @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -5856,8 +5840,7 @@ Elemental function
@item @var{BACK} @tab (Optional) Shall be a scalar @code{LOGICAL}, with
@code{INTENT(IN)}
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -5893,10 +5876,9 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be of type @code{INTEGER},
@code{REAL}, or @code{COMPLEX}.
@code{REAL}, or @code{COMPLEX}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -5961,7 +5943,7 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be of type @code{INTEGER},
@code{REAL}, or @code{COMPLEX}.
@code{REAL}, or @code{COMPLEX}.
@end multitable
@item @emph{Return value}:
@ -5996,7 +5978,7 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be of type @code{INTEGER},
@code{REAL}, or @code{COMPLEX}.
@code{REAL}, or @code{COMPLEX}.
@end multitable
@item @emph{Return value}:
@ -6428,8 +6410,8 @@ Subroutine, function
@item @var{VALUE} @tab Shall be a scalar @code{INTEGER}, with
@code{INTENT(IN)}
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER(4)} or
@code{INTEGER(8)}. Returns 0 on success, or a
system-specific error code otherwise.
@code{INTEGER(8)}. Returns 0 on success, or a system-specific error code
otherwise.
@end multitable
@item @emph{See also}:
@ -6504,8 +6486,7 @@ Inquiry function
@item @var{ARRAY} @tab Shall be an array, of any type.
@item @var{DIM} @tab (Optional) Shall be a scalar @code{INTEGER}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -6550,8 +6531,7 @@ Inquiry function
@item @var{STRING} @tab Shall be a scalar or array of type
@code{CHARACTER}, with @code{INTENT(IN)}
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -6587,8 +6567,7 @@ Elemental function
@item @var{STRING} @tab Shall be a scalar of type @code{CHARACTER},
with @code{INTENT(IN)}
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -7085,8 +7064,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{L} @tab The type shall be @code{LOGICAL}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -7124,7 +7102,7 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be of type @code{INTEGER},
@code{REAL}, or @code{COMPLEX}.
@code{REAL}, or @code{COMPLEX}.
@end multitable
@item @emph{Return value}:
@ -7243,17 +7221,16 @@ Subroutine
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STIME} @tab An @code{INTEGER} scalar expression
corresponding to a system time, with
@code{INTENT(IN)}.
corresponding to a system time, with @code{INTENT(IN)}.
@item @var{TARRAY} @tab A default @code{INTEGER} array with 9 elements,
with @code{INTENT(OUT)}.
with @code{INTENT(OUT)}.
@end multitable
@item @emph{Return value}:
The elements of @var{TARRAY} are assigned as follows:
@enumerate
@item Seconds after the minute, range 0--59 or 0--61 to allow for leap
seconds
seconds
@item Minutes after the hour, range 0--59
@item Hours past midnight, range 0--23
@item Day of month, range 0--31
@ -7262,8 +7239,7 @@ The elements of @var{TARRAY} are assigned as follows:
@item Number of days since Sunday, range 0--6
@item Days since January 1
@item Daylight savings indicator: positive if daylight savings is in
effect, zero if not, and negative if the information is not
available.
effect, zero if not, and negative if the information is not available.
@end enumerate
@item @emph{See also}:
@ -7361,17 +7337,13 @@ Transformational function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{MATRIX_A} @tab An array of @code{INTEGER},
@code{REAL}, @code{COMPLEX}, or
@code{LOGICAL} type, with a rank of
one or two.
@code{REAL}, @code{COMPLEX}, or @code{LOGICAL} type, with a rank of
one or two.
@item @var{MATRIX_B} @tab An array of @code{INTEGER},
@code{REAL}, or @code{COMPLEX} type if
@var{MATRIX_A} is of a numeric type;
otherwise, an array of @code{LOGICAL}
type. The rank shall be one or two, and the
first (or only) dimension of @var{MATRIX_B}
shall be equal to the last (or only)
dimension of @var{MATRIX_A}.
@code{REAL}, or @code{COMPLEX} type if @var{MATRIX_A} is of a numeric
type; otherwise, an array of @code{LOGICAL} type. The rank shall be one
or two, and the first (or only) dimension of @var{MATRIX_B} shall be
equal to the last (or only) dimension of @var{MATRIX_A}.
@end multitable
@item @emph{Return value}:
@ -7410,11 +7382,10 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A1} @tab The type shall be @code{INTEGER} or
@code{REAL}.
@code{REAL}.
@item @var{A2}, @var{A3}, ... @tab An expression of the same type and kind
as @var{A1}. (As a GNU extension,
arguments of different kinds are
permitted.)
as @var{A1}. (As a GNU extension, arguments of different kinds are
permitted.)
@end multitable
@item @emph{Return value}:
@ -7514,13 +7485,12 @@ Transformational function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@code{REAL}, or @code{CHARACTER}.
@code{REAL}, or @code{CHARACTER}.
@item @var{DIM} @tab (Optional) Shall be a scalar of type
@code{INTEGER}, with a value between one
and the rank of @var{ARRAY}, inclusive. It
may not be an optional dummy argument.
@code{INTEGER}, with a value between one and the rank of @var{ARRAY},
inclusive. It may not be an optional dummy argument.
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
and conformable with @var{ARRAY}.
and conformable with @var{ARRAY}.
@end multitable
@item @emph{Return value}:
@ -7571,13 +7541,12 @@ Transformational function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@code{REAL}, or @code{CHARACTER}.
@code{REAL}, or @code{CHARACTER}.
@item @var{DIM} @tab (Optional) Shall be a scalar of type
@code{INTEGER}, with a value between one
and the rank of @var{ARRAY}, inclusive. It
may not be an optional dummy argument.
@code{INTEGER}, with a value between one and the rank of @var{ARRAY},
inclusive. It may not be an optional dummy argument.
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
and conformable with @var{ARRAY}.
and conformable with @var{ARRAY}.
@end multitable
@item @emph{Return value}:
@ -7696,7 +7665,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{TSOURCE} @tab May be of any type.
@item @var{FSOURCE} @tab Shall be of the same type and type parameters
as @var{TSOURCE}.
as @var{TSOURCE}.
@item @var{MASK} @tab Shall be of type @code{LOGICAL}.
@end multitable
@ -7733,11 +7702,10 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A1} @tab The type shall be @code{INTEGER} or
@code{REAL}.
@code{REAL}.
@item @var{A2}, @var{A3}, ... @tab An expression of the same type and kind
as @var{A1}. (As a GNU extension,
arguments of different kinds are
permitted.)
as @var{A1}. (As a GNU extension, arguments of different kinds are
permitted.)
@end multitable
@item @emph{Return value}:
@ -7828,13 +7796,12 @@ Transformational function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@code{REAL}, or @code{CHARACTER}.
@code{REAL}, or @code{CHARACTER}.
@item @var{DIM} @tab (Optional) Shall be a scalar of type
@code{INTEGER}, with a value between one
and the rank of @var{ARRAY}, inclusive. It
may not be an optional dummy argument.
@code{INTEGER}, with a value between one and the rank of @var{ARRAY},
inclusive. It may not be an optional dummy argument.
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
and conformable with @var{ARRAY}.
and conformable with @var{ARRAY}.
@end multitable
@item @emph{Return value}:
@ -7885,13 +7852,12 @@ Transformational function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@code{REAL}, or @code{CHARACTER}.
@code{REAL}, or @code{CHARACTER}.
@item @var{DIM} @tab (Optional) Shall be a scalar of type
@code{INTEGER}, with a value between one
and the rank of @var{ARRAY}, inclusive. It
may not be an optional dummy argument.
@code{INTEGER}, with a value between one and the rank of @var{ARRAY},
inclusive. It may not be an optional dummy argument.
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
and conformable with @var{ARRAY}.
and conformable with @var{ARRAY}.
@end multitable
@item @emph{Return value}:
@ -8049,9 +8015,9 @@ Subroutine
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SRC} @tab @code{ALLOCATABLE}, @code{INTENT(INOUT)}, may be
of any type and kind.
of any type and kind.
@item @var{DEST} @tab @code{ALLOCATABLE}, @code{INTENT(OUT)}, shall be
of the same type, kind and rank as @var{SRC}
of the same type, kind and rank as @var{SRC}.
@end multitable
@item @emph{Return value}:
@ -8102,7 +8068,7 @@ Elemental subroutine
@item @var{FROMPOS} @tab The type shall be @code{INTEGER}.
@item @var{LEN} @tab The type shall be @code{INTEGER}.
@item @var{TO} @tab The type shall be @code{INTEGER}, of the
same kind as @var{FROM}.
same kind as @var{FROM}.
@item @var{TOPOS} @tab The type shall be @code{INTEGER}.
@end multitable
@ -8181,7 +8147,7 @@ Inquiry function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab The argument shall be a scalar or array of the
type @code{CHARACTER}.
type @code{CHARACTER}.
@end multitable
@item @emph{Return value}:
@ -8222,8 +8188,7 @@ Elemental function
@multitable @columnfractions .15 .70
@item @var{X} @tab The type of the argument shall be @code{REAL}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -8931,10 +8896,9 @@ Elemental function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be @code{INTEGER}, @code{REAL}, or
@code{COMPLEX}.
@code{COMPLEX}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -9257,8 +9221,7 @@ Elemental function
@item @var{SET} @tab Shall be of type @code{CHARACTER}.
@item @var{BACK} @tab (Optional) shall be of type @code{LOGICAL}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -9858,8 +9821,7 @@ a pointer it must be associated and allocatable arrays must be allocated.
and its value shall be in the range from 1 to n, where n equals the rank
of @var{ARRAY}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -10240,7 +10202,7 @@ Subroutine, function
default kind and a valid path within the file system.
@item @var{BUFF} @tab The type shall be @code{INTEGER(4), DIMENSION(13)}.
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER(4)}. Returns 0
on success and a system specific error code otherwise.
on success and a system specific error code otherwise.
@end multitable
@item @emph{Example}:
@ -10888,8 +10850,7 @@ Inquiry function
@item @var{ARRAY} @tab Shall be an array, of any type.
@item @var{DIM} @tab (Optional) Shall be a scalar @code{INTEGER}.
@item @var{KIND}@tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:
@ -10932,7 +10893,7 @@ Subroutine
@multitable @columnfractions .15 .70
@item @var{MASK} @tab Shall be a scalar of type @code{INTEGER}.
@item @var{MASK} @tab (Optional) Shall be a scalar of type
@code{INTEGER}.
@code{INTEGER}.
@end multitable
@end table
@ -11060,8 +11021,7 @@ Elemental function
@item @var{SET} @tab Shall be of type @code{CHARACTER}.
@item @var{BACK} @tab (Optional) shall be of type @code{LOGICAL}.
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
expression indicating the kind parameter of
the result.
expression indicating the kind parameter of the result.
@end multitable
@item @emph{Return value}:

View File

@ -15,7 +15,7 @@ Invariant Sections being ``GNU General Public License'' and ``Funding
Free Software'', the Front-Cover texts being (a) (see below), and with
the Back-Cover Texts being (b) (see below). A copy of the license is
included in the gfdl(7) man page.
(a) The FSF's Front-Cover Text is:
A GNU Manual
@ -36,7 +36,7 @@ gfortran [@option{-c}|@option{-S}|@option{-E}]
[@option{-I}@var{dir}@dots{}] [@option{-L}@var{dir}@dots{}]
[@option{-D}@var{macro}[=@var{defn}]@dots{}] [@option{-U}@var{macro}]
[@option{-f}@var{option}@dots{}]
[@option{-m}@var{machine-option}@dots{}]
[@option{-m}@var{machine-option}@dots{}]
[@option{-o} @var{outfile}] @var{infile}@dots{}
Only the most useful options are listed here; see below for the

View File

@ -1,3 +1,7 @@
2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* gcj.texi: Expand TABs, remove whitespace from blank lines.
2008-06-14 Tom Tromey <tromey@redhat.com>
PR java/36247:

View File

@ -104,20 +104,20 @@ files and object files, and it can read both Java source code and
@file{.class} files.
@menu
* Copying:: The GNU General Public License
* Copying:: The GNU General Public License
* GNU Free Documentation License::
How you can share and copy this manual
* Invoking gcj:: Compiler options supported by @command{gcj}
* Compatibility:: Compatibility between gcj and other tools for Java
How you can share and copy this manual
* Invoking gcj:: Compiler options supported by @command{gcj}
* Compatibility:: Compatibility between gcj and other tools for Java
* Invoking jcf-dump:: Print information about class files
* Invoking gij:: Interpreting Java bytecodes
* Invoking gij:: Interpreting Java bytecodes
* Invoking gcj-dbtool:: Tool for manipulating class file databases.
* Invoking jv-convert:: Converting from one encoding to another
* Invoking grmic:: Generate stubs for Remote Method Invocation.
* Invoking gc-analyze:: Analyze Garbage Collector (GC) memory dumps.
* About CNI:: Description of the Compiled Native Interface
* System properties:: Modifying runtime behavior of the libgcj library
* Resources:: Where to look for more information
* Resources:: Where to look for more information
* Index:: Index.
@end menu
@ -159,12 +159,12 @@ options specific to @command{gcj}.
@menu
* Input and output files::
* Input Options:: How gcj finds files
* Input Options:: How gcj finds files
* Encodings:: Options controlling source file encoding
* Warnings:: Options controlling warnings specific to gcj
* Linking:: Options for making an executable
* Code Generation:: Options controlling the output of gcj
* Configure-time Options:: Options you won't use
* Warnings:: Options controlling warnings specific to gcj
* Linking:: Options for making an executable
* Code Generation:: Options controlling the output of gcj
* Configure-time Options:: Options you won't use
@end menu
@c man begin OPTIONS gcj
@ -1176,7 +1176,7 @@ public class GCDumpTest
static public void main(String args[])
@{
ArrayList<String> l = new ArrayList<String>(1000);
for (int i = 1; i < 1500; i++) @{
l.add("This is string #" + i);
@}
@ -1243,7 +1243,7 @@ alternative to the standard JNI (Java Native Interface).
* Mixing with C++:: How CNI can interoperate with C++.
* Exception Handling:: How exceptions are handled.
* Synchronization:: Synchronizing between Java and C++.
* Invocation:: Starting the Java runtime from C++.
* Invocation:: Starting the Java runtime from C++.
* Reflection:: Using reflection from C++.
@end menu
@ -1493,7 +1493,7 @@ you can only call an interface method when the declared type of the
field being called matches the interface which declares that
method. The workaround is to cast the interface reference to the right
superinterface.
For example if you have:
@example
@ -1501,13 +1501,13 @@ interface A
@{
void a();
@}
interface B extends A
@{
void b();
@}
@end example
and declare a variable of type @code{B} in C++, you can't call
@code{a()} unless you cast it to an @code{A} first.
@ -2269,7 +2269,7 @@ The example can be compiled with @command{c++ -c test.cc; gcj test.o}.
int main(int argc, char *argv[])
@{
using namespace java::lang;
try
@{
JvCreateJavaVM(NULL);

View File

@ -1,3 +1,7 @@
2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libgomp.texi (omp_test_lock): Fix typo.
2008-06-12 Tobias Burnus <burnus@net-b.de>
* omp_lib.f90.in: Add "implicit none".

View File

@ -512,7 +512,7 @@ a deadlock occurs.
Before setting a simple lock, the lock variable must be initialized by
@code{omp_init_lock}. Contrary to @code{omp_set_lock}, @code{omp_test_lock}
does not block if the lock is not available. This function returns
@code{true} upon success,@code{false} otherwise. Here, @code{true} and
@code{true} upon success, @code{false} otherwise. Here, @code{true} and
@code{false} represent their language-specific counterparts.
@item @emph{C/C++}:

View File

@ -1,3 +1,8 @@
2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libiberty.texi: Expand TABs, drop indentation outside examples.
* obstacks.texi: Likewise.
2008-04-21 Aurelien Jarno <aurelien@aurel32.net>
* libiberty/configure.ac: use -fPIC on Linux/MIPS hosts.

View File

@ -10,7 +10,7 @@
@finalout
@c %**end of header
@dircategory GNU libraries
@direntry
* Libiberty: (libiberty). Library of utility functions which

View File

@ -15,20 +15,20 @@ the objects are usually small. And the only space overhead per object is
the padding needed to start each object on a suitable boundary.
@menu
* Creating Obstacks:: How to declare an obstack in your program.
* Preparing for Obstacks:: Preparations needed before you can
use obstacks.
* Creating Obstacks:: How to declare an obstack in your program.
* Preparing for Obstacks:: Preparations needed before you can
use obstacks.
* Allocation in an Obstack:: Allocating objects in an obstack.
* Freeing Obstack Objects:: Freeing objects in an obstack.
* Obstack Functions:: The obstack functions are both
functions and macros.
* Obstack Functions:: The obstack functions are both
functions and macros.
* Growing Objects:: Making an object bigger by stages.
* Extra Fast Growing:: Extra-high-efficiency (though more
complicated) growing objects.
* Extra Fast Growing:: Extra-high-efficiency (though more
complicated) growing objects.
* Status of an Obstack:: Inquiries about the status of an obstack.
* Obstacks Data Alignment:: Controlling alignment of objects in obstacks.
* Obstack Chunks:: How obstacks obtain and release chunks;
efficiency considerations.
efficiency considerations.
* Summary of Obstacks::
@end menu