mirror of git://gcc.gnu.org/git/gcc.git
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:
parent
93581857e5
commit
6ccde948ad
|
@ -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>
|
2008-06-15 Mark Shinwell <shinwell@codesourcery.com>
|
||||||
Nathan Sidwell <nathan@codesourcery.com>
|
Nathan Sidwell <nathan@codesourcery.com>
|
||||||
Maxim Kuvyrkov <maxim@codesourcery.com>
|
Maxim Kuvyrkov <maxim@codesourcery.com>
|
||||||
|
|
|
@ -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>
|
2008-06-13 Olivier Hainque <hainque@adacore.com>
|
||||||
|
|
||||||
* decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
|
* decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
|
||||||
|
|
|
@ -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
|
an immediate call to the last chance handler, a routine that the user
|
||||||
must define with the following profile:
|
must define with the following profile:
|
||||||
|
|
||||||
procedure Last_Chance_Handler
|
@smallexample @c ada
|
||||||
(Source_Location : System.Address; Line : Integer);
|
procedure Last_Chance_Handler
|
||||||
pragma Export (C, Last_Chance_Handler,
|
(Source_Location : System.Address; Line : Integer);
|
||||||
"__gnat_last_chance_handler");
|
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
|
The parameter is a C null-terminated string representing a message to be
|
||||||
associated with the exception (typically the source location of the raise
|
associated with the exception (typically the source location of the raise
|
||||||
statement generated by the compiler). The Line parameter when nonzero
|
statement generated by the compiler). The Line parameter when nonzero
|
||||||
represents the line number in the source program where the raise occurs.
|
represents the line number in the source program where the raise occurs.
|
||||||
|
|
||||||
@item No_Exception_Propagation
|
@item No_Exception_Propagation
|
||||||
@findex No_Exception_Propagation
|
@findex No_Exception_Propagation
|
||||||
|
@ -11663,8 +11665,7 @@ The following predefined instantiations of this package are provided:
|
||||||
@item Float
|
@item Float
|
||||||
@code{Ada.Numerics.Complex_Elementary_Functions}
|
@code{Ada.Numerics.Complex_Elementary_Functions}
|
||||||
@item Long_Float
|
@item Long_Float
|
||||||
@code{Ada.Numerics.
|
@code{Ada.Numerics.Long_Complex_Elementary_Functions}
|
||||||
Long_Complex_Elementary_Functions}
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@item Ada.Numerics.Generic_Complex_Types
|
@item Ada.Numerics.Generic_Complex_Types
|
||||||
|
|
|
@ -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^}
|
Compile only. Do not perform binding, except when @option{^-b^/ACTIONS=BIND^}
|
||||||
is also specified. Do not perform linking, except if both
|
is also specified. Do not perform linking, except if both
|
||||||
@option{^-b^/ACTIONS=BIND^} and
|
@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
|
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
|
default. Otherwise @command{gnatmake} will attempt binding and linking
|
||||||
unless all objects are up to date and the executable is more recent than
|
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})
|
@cindex @option{^-d^/DISPLAY_PROGRESS^} (@command{gnatmake})
|
||||||
Display progress for each source, up to date or not, as a single line
|
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
|
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.
|
the compiler. These lines are displayed even in quiet output mode.
|
||||||
|
@ -9419,8 +9421,8 @@ and @file{^main3^MAIN3.EXE^}.
|
||||||
|
|
||||||
@ifset vms
|
@ifset vms
|
||||||
@item gnatmake Main_Unit /QUIET
|
@item gnatmake Main_Unit /QUIET
|
||||||
/COMPILER_QUALIFIERS /OPTIMIZE=ALL
|
/COMPILER_QUALIFIERS /OPTIMIZE=ALL
|
||||||
/BINDER_QUALIFIERS /ORDER_OF_ELABORATION
|
/BINDER_QUALIFIERS /ORDER_OF_ELABORATION
|
||||||
@end ifset
|
@end ifset
|
||||||
Compile all files necessary to bind and link the main program unit
|
Compile all files necessary to bind and link the main program unit
|
||||||
@code{Main_Unit} (from file @file{main_unit.adb}). All compilations will
|
@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 an imported project
|
||||||
@item The name of a parent project that is extended by the current 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,
|
@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
|
@end itemize
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
@ -15287,8 +15289,8 @@ specifies the command used to compile a single file in the application.
|
||||||
@ifclear vms
|
@ifclear vms
|
||||||
@item make_cmd=COMMAND
|
@item make_cmd=COMMAND
|
||||||
[default: @code{"gnatmake $@{main@} -aI$@{src_dir@}
|
[default: @code{"gnatmake $@{main@} -aI$@{src_dir@}
|
||||||
-aO$@{obj_dir@} -g -gnatq -cargs $@{comp_opt@}
|
-aO$@{obj_dir@} -g -gnatq -cargs $@{comp_opt@}
|
||||||
-bargs $@{bind_opt@} -largs $@{link_opt@}"}]
|
-bargs $@{bind_opt@} -largs $@{link_opt@}"}]
|
||||||
@end ifclear
|
@end ifclear
|
||||||
specifies the command used to recompile the whole application.
|
specifies the command used to recompile the whole application.
|
||||||
|
|
||||||
|
@ -17961,25 +17963,23 @@ $ GNAT LIBRARY /[CREATE | SET | DELETE]=directory [/CONFIG=file]
|
||||||
@c !sort!
|
@c !sort!
|
||||||
@item /CREATE=directory
|
@item /CREATE=directory
|
||||||
@cindex @code{/CREATE} (@code{gnatlbr})
|
@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
|
@item /SET=directory
|
||||||
@cindex @code{/SET} (@code{gnatlbr})
|
@cindex @code{/SET} (@code{gnatlbr})
|
||||||
Make the library in the specified directory the current run-time
|
Make the library in the specified directory the current run-time library.
|
||||||
library.
|
|
||||||
|
|
||||||
@item /DELETE=directory
|
@item /DELETE=directory
|
||||||
@cindex @code{/DELETE} (@code{gnatlbr})
|
@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
|
@item /CONFIG=file
|
||||||
@cindex @code{/CONFIG} (@code{gnatlbr})
|
@cindex @code{/CONFIG} (@code{gnatlbr})
|
||||||
With /CREATE:
|
With /CREATE: Use the configuration pragmas in the specified file when
|
||||||
Use the configuration pragmas in the specified file when building
|
building the library.
|
||||||
the library.
|
|
||||||
|
|
||||||
With /SET:
|
With /SET: Use the configuration pragmas in the specified file when
|
||||||
Use the configuration pragmas in the specified file when compiling.
|
compiling.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
@ -21102,14 +21102,14 @@ The following declarations are checked:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
type declarations
|
type declarations
|
||||||
|
|
||||||
@item
|
@item
|
||||||
constant declarations (but not number declarations)
|
constant declarations (but not number declarations)
|
||||||
|
|
||||||
@item
|
@item
|
||||||
package renaming declarations (but not generic package renaming
|
package renaming declarations (but not generic package renaming
|
||||||
declarations)
|
declarations)
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
@ -21118,12 +21118,12 @@ the following checks:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
type-defining names end with @code{_T}, unless the type is an access type,
|
type-defining names end with @code{_T}, unless the type is an access type,
|
||||||
in which case the suffix must be @code{_A}
|
in which case the suffix must be @code{_A}
|
||||||
@item
|
@item
|
||||||
constant names end with @code{_C}
|
constant names end with @code{_C}
|
||||||
@item
|
@item
|
||||||
names defining package renamings end with @code{_R}
|
names defining package renamings end with @code{_R}
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
@ -21132,19 +21132,19 @@ made for the defining name suffix:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
For an incomplete type declaration: if the corresponding full type
|
For an incomplete type declaration: if the corresponding full type
|
||||||
declaration is available, the defining identifier from the 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 checked, but the defining identifier from the incomplete type
|
||||||
declaration is not; otherwise the defining identifier from the incomplete
|
declaration is not; otherwise the defining identifier from the incomplete
|
||||||
type declaration is checked against the suffix specified for type
|
type declaration is checked against the suffix specified for type
|
||||||
declarations.
|
declarations.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
For a private type declaration (including private extensions), the defining
|
For a private type declaration (including private extensions), the defining
|
||||||
identifier from the private type declaration is checked against the type
|
identifier from the private type declaration is checked against the type
|
||||||
suffix (even if the corresponding full declaration is an access type
|
suffix (even if the corresponding full declaration is an access type
|
||||||
declaration), and the defining identifier from the corresponding full type
|
declaration), and the defining identifier from the corresponding full type
|
||||||
declaration is not checked.
|
declaration is not checked.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
@ -24217,7 +24217,7 @@ functions:
|
||||||
@item @code{TO_UNSIGNED_LONGWORD(ADDRESS)}
|
@item @code{TO_UNSIGNED_LONGWORD(ADDRESS)}
|
||||||
|
|
||||||
@item Function @code{IMPORT_VALUE return UNSIGNED_LONGWORD} and the
|
@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
|
@end itemize
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
@ -24410,16 +24410,15 @@ GNAT supplies the following task-related pragmas:
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item @code{TASK_INFO}
|
@item @code{TASK_INFO}
|
||||||
|
|
||||||
This pragma appears within a task definition and
|
This pragma appears within a task definition and
|
||||||
applies to the task in which it appears. The argument
|
applies to the task in which it appears. The argument
|
||||||
must be of type @code{SYSTEM.TASK_INFO.TASK_INFO_TYPE}.
|
must be of type @code{SYSTEM.TASK_INFO.TASK_INFO_TYPE}.
|
||||||
|
|
||||||
@item @code{TASK_STORAGE}
|
@item @code{TASK_STORAGE}
|
||||||
|
|
||||||
GNAT implements pragma @code{TASK_STORAGE} in the same way as
|
GNAT implements pragma @code{TASK_STORAGE} in the same way as HP Ada.
|
||||||
HP Ada.
|
Both HP Ada and GNAT supply the pragmas @code{PASSIVE},
|
||||||
Both HP Ada and GNAT supply the pragmas @code{PASSIVE},
|
@code{SUPPRESS}, and @code{VOLATILE}.
|
||||||
@code{SUPPRESS}, and @code{VOLATILE}.
|
|
||||||
@end itemize
|
@end itemize
|
||||||
@node Scheduling and Task Priority
|
@node Scheduling and Task Priority
|
||||||
@subsection 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:
|
following conditions:
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item Procedure with no formal parameters (returns @code{0} upon
|
@item Procedure with no formal parameters (returns @code{0} upon
|
||||||
normal completion)
|
normal completion)
|
||||||
|
|
||||||
@item Procedure with no formal parameters (returns @code{42} when
|
@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
|
@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
|
@item Procedure with one @code{out} formal of a discrete type for
|
||||||
which a specification of pragma @code{EXPORT_VALUED_PROCEDURE}
|
which a specification of pragma @code{EXPORT_VALUED_PROCEDURE} is given.
|
||||||
is given.
|
|
||||||
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
|
@ -25270,7 +25268,7 @@ and GNAT systems.
|
||||||
@sp 1
|
@sp 1
|
||||||
|
|
||||||
@item In a subprogram or entry declaration, maximum number of
|
@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 32
|
||||||
@tab No set limit
|
@tab No set limit
|
||||||
@sp 1
|
@sp 1
|
||||||
|
@ -25296,7 +25294,7 @@ and GNAT systems.
|
||||||
@sp 1
|
@sp 1
|
||||||
|
|
||||||
@item Maximum number of formal parameters in an entry or
|
@item Maximum number of formal parameters in an entry or
|
||||||
subprogram declaration
|
subprogram declaration
|
||||||
@tab 246
|
@tab 246
|
||||||
@tab No set limit
|
@tab No set limit
|
||||||
@sp 1
|
@sp 1
|
||||||
|
@ -25317,13 +25315,13 @@ and GNAT systems.
|
||||||
@sp 1
|
@sp 1
|
||||||
|
|
||||||
@item Maximum number of objects declared with the pragma @code{COMMON_OBJECT}
|
@item Maximum number of objects declared with the pragma @code{COMMON_OBJECT}
|
||||||
or @code{PSECT_OBJECT}
|
or @code{PSECT_OBJECT}
|
||||||
@tab 32757
|
@tab 32757
|
||||||
@tab No set limit
|
@tab No set limit
|
||||||
@sp 1
|
@sp 1
|
||||||
|
|
||||||
@item Maximum number of enumeration literals in an enumeration type
|
@item Maximum number of enumeration literals in an enumeration type
|
||||||
definition
|
definition
|
||||||
@tab 65535
|
@tab 65535
|
||||||
@tab No set limit
|
@tab No set limit
|
||||||
@sp 1
|
@sp 1
|
||||||
|
@ -25422,35 +25420,35 @@ of the DECset package.
|
||||||
@c @multitable @columnfractions .3 .4 .4
|
@c @multitable @columnfractions .3 .4 .4
|
||||||
@multitable {Source Code Analyzer /}{Tool with HP Ada}{Tool with GNAT Pro}
|
@multitable {Source Code Analyzer /}{Tool with HP Ada}{Tool with GNAT Pro}
|
||||||
@item @i{Tool}
|
@item @i{Tool}
|
||||||
@tab @i{Tool with HP Ada}
|
@tab @i{Tool with HP Ada}
|
||||||
@tab @i{Tool with @value{EDITION}}
|
@tab @i{Tool with @value{EDITION}}
|
||||||
@item Code Management@*System
|
@item Code Management@*System
|
||||||
@tab HP CMS
|
@tab HP CMS
|
||||||
@tab HP CMS
|
@tab HP CMS
|
||||||
@item Language-Sensitive@*Editor
|
@item Language-Sensitive@*Editor
|
||||||
@tab HP LSE
|
@tab HP LSE
|
||||||
@tab emacs or HP LSE (Alpha)
|
@tab emacs or HP LSE (Alpha)
|
||||||
@item
|
@item
|
||||||
@tab
|
@tab
|
||||||
@tab HP LSE (I64)
|
@tab HP LSE (I64)
|
||||||
@item Debugger
|
@item Debugger
|
||||||
@tab OpenVMS Debug
|
@tab OpenVMS Debug
|
||||||
@tab gdb (Alpha),
|
@tab gdb (Alpha),
|
||||||
@item
|
@item
|
||||||
@tab
|
@tab
|
||||||
@tab OpenVMS Debug (I64)
|
@tab OpenVMS Debug (I64)
|
||||||
@item Source Code Analyzer /@*Cross Referencer
|
@item Source Code Analyzer /@*Cross Referencer
|
||||||
@tab HP SCA
|
@tab HP SCA
|
||||||
@tab GNAT XREF
|
@tab GNAT XREF
|
||||||
@item Test Manager
|
@item Test Manager
|
||||||
@tab HP Digital Test@*Manager (DTM)
|
@tab HP Digital Test@*Manager (DTM)
|
||||||
@tab HP DTM
|
@tab HP DTM
|
||||||
@item Performance and@*Coverage Analyzer
|
@item Performance and@*Coverage Analyzer
|
||||||
@tab HP PCA
|
@tab HP PCA
|
||||||
@tab HP PCA
|
@tab HP PCA
|
||||||
@item Module Management@*System
|
@item Module Management@*System
|
||||||
@tab HP MMS
|
@tab HP MMS
|
||||||
@tab Not applicable
|
@tab Not applicable
|
||||||
@end multitable
|
@end multitable
|
||||||
@end flushleft
|
@end flushleft
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
|
@ -25787,16 +25785,16 @@ to one of the following:
|
||||||
@table @code
|
@table @code
|
||||||
@item -2
|
@item -2
|
||||||
Use the default configuration (run the program on all
|
Use the default configuration (run the program on all
|
||||||
available processors) - this is the same as having
|
available processors) - this is the same as having @code{GNAT_PROCESSOR}
|
||||||
@code{GNAT_PROCESSOR} unset
|
unset
|
||||||
|
|
||||||
@item -1
|
@item -1
|
||||||
Let the run-time implementation choose one processor and run the program on
|
Let the run-time implementation choose one processor and run the program on
|
||||||
that processor
|
that processor
|
||||||
|
|
||||||
@item 0 .. Last_Proc
|
@item 0 .. Last_Proc
|
||||||
Run the program on the specified processor.
|
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).
|
(where @code{_SC_NPROCESSORS_CONF} is a system variable).
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ This manual contains no Invariant Sections. The Front-Cover Texts are
|
||||||
@ifinfo
|
@ifinfo
|
||||||
@dircategory Software development
|
@dircategory Software development
|
||||||
@direntry
|
@direntry
|
||||||
* Cpp: (cpp). The GNU C preprocessor.
|
* Cpp: (cpp). The GNU C preprocessor.
|
||||||
@end direntry
|
@end direntry
|
||||||
@end ifinfo
|
@end ifinfo
|
||||||
|
|
||||||
|
|
|
@ -541,7 +541,7 @@ files previously preprocessed with @code{-E -fdirectives-only}.
|
||||||
@anchor{fdollars-in-identifiers}
|
@anchor{fdollars-in-identifiers}
|
||||||
Accept @samp{$} in identifiers.
|
Accept @samp{$} in identifiers.
|
||||||
@ifset cppmanual
|
@ifset cppmanual
|
||||||
@xref{Identifier characters}.
|
@xref{Identifier characters}.
|
||||||
@end ifset
|
@end ifset
|
||||||
|
|
||||||
@item -fextended-identifiers
|
@item -fextended-identifiers
|
||||||
|
|
|
@ -28,10 +28,10 @@ extensions, accepted by GCC in C89 mode and in C++.
|
||||||
* Local Labels:: Labels local to a block.
|
* Local Labels:: Labels local to a block.
|
||||||
* Labels as Values:: Getting pointers to labels, and computed gotos.
|
* Labels as Values:: Getting pointers to labels, and computed gotos.
|
||||||
* Nested Functions:: As in Algol and Pascal, lexical scoping of functions.
|
* 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.
|
* Typeof:: @code{typeof}: referring to the type of an expression.
|
||||||
* Conditionals:: Omitting the middle operand of a @samp{?:} 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.
|
* Complex:: Data types for complex numbers.
|
||||||
* Floating Types:: Additional Floating Types.
|
* Floating Types:: Additional Floating Types.
|
||||||
* Decimal Float:: Decimal 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.
|
* Zero Length:: Zero-length arrays.
|
||||||
* Variable Length:: Arrays whose length is computed at run time.
|
* Variable Length:: Arrays whose length is computed at run time.
|
||||||
* Empty Structures:: Structures with no members.
|
* 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.
|
* Escaped Newlines:: Slightly looser rules for escaped newlines.
|
||||||
* Subscripting:: Any array can be subscripted, even if not an lvalue.
|
* Subscripting:: Any array can be subscripted, even if not an lvalue.
|
||||||
* Pointer Arith:: Arithmetic on @code{void}-pointers and function pointers.
|
* Pointer Arith:: Arithmetic on @code{void}-pointers and function pointers.
|
||||||
* Initializers:: Non-constant initializers.
|
* Initializers:: Non-constant initializers.
|
||||||
* Compound Literals:: Compound literals give structures, unions
|
* Compound Literals:: Compound literals give structures, unions
|
||||||
or arrays as values.
|
or arrays as values.
|
||||||
* Designated Inits:: Labeling elements of initializers.
|
* Designated Inits:: Labeling elements of initializers.
|
||||||
* Cast to Union:: Casting to union type from any member of the union.
|
* Cast to Union:: Casting to union type from any member of the union.
|
||||||
* Case Ranges:: `case 1 ... 9' and such.
|
* Case Ranges:: `case 1 ... 9' and such.
|
||||||
* Mixed Declarations:: Mixing declarations and code.
|
* Mixed Declarations:: Mixing declarations and code.
|
||||||
* Function Attributes:: Declaring that functions have no side effects,
|
* 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.
|
* Attribute Syntax:: Formal syntax for attributes.
|
||||||
* Function Prototypes:: Prototype declarations and old-style definitions.
|
* Function Prototypes:: Prototype declarations and old-style definitions.
|
||||||
* C++ Comments:: C++ comments are recognized.
|
* C++ Comments:: C++ comments are recognized.
|
||||||
* Dollar Signs:: Dollar sign is allowed in identifiers.
|
* Dollar Signs:: Dollar sign is allowed in identifiers.
|
||||||
* Character Escapes:: @samp{\e} stands for the character @key{ESC}.
|
* Character Escapes:: @samp{\e} stands for the character @key{ESC}.
|
||||||
* Variable Attributes:: Specifying attributes of variables.
|
* Variable Attributes:: Specifying attributes of variables.
|
||||||
* Type Attributes:: Specifying attributes of types.
|
* Type Attributes:: Specifying attributes of types.
|
||||||
* Alignment:: Inquiring about the alignment of a type or variable.
|
* Alignment:: Inquiring about the alignment of a type or variable.
|
||||||
* Inline:: Defining inline functions (as fast as macros).
|
* Inline:: Defining inline functions (as fast as macros).
|
||||||
* Extended Asm:: Assembler instructions with C expressions as operands.
|
* 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
|
* Constraints:: Constraints for asm operands
|
||||||
* Asm Labels:: Specifying the assembler name to use for a C symbol.
|
* Asm Labels:: Specifying the assembler name to use for a C symbol.
|
||||||
* Explicit Reg Vars:: Defining variables residing in specified registers.
|
* Explicit Reg Vars:: Defining variables residing in specified registers.
|
||||||
* Alternate Keywords:: @code{__const__}, @code{__asm__}, etc., for header files.
|
* Alternate Keywords:: @code{__const__}, @code{__asm__}, etc., for header files.
|
||||||
* Incomplete Enums:: @code{enum foo;}, with details to follow.
|
* Incomplete Enums:: @code{enum foo;}, with details to follow.
|
||||||
* Function Names:: Printable strings which are the name of the current
|
* Function Names:: Printable strings which are the name of the current
|
||||||
function.
|
function.
|
||||||
* Return Address:: Getting the return or frame address of a function.
|
* Return Address:: Getting the return or frame address of a function.
|
||||||
* Vector Extensions:: Using vector instructions through built-in functions.
|
* Vector Extensions:: Using vector instructions through built-in functions.
|
||||||
* Offsetof:: Special syntax for implementing @code{offsetof}.
|
* 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
|
* Object Size Checking:: Built-in functions for limited buffer overflow
|
||||||
checking.
|
checking.
|
||||||
* Other Builtins:: Other built-in functions.
|
* Other Builtins:: Other built-in functions.
|
||||||
|
@ -2584,7 +2584,7 @@ be non-null pointers. For instance, the declaration:
|
||||||
@smallexample
|
@smallexample
|
||||||
extern void *
|
extern void *
|
||||||
my_memcpy (void *dest, const void *src, size_t len)
|
my_memcpy (void *dest, const void *src, size_t len)
|
||||||
__attribute__((nonnull (1, 2)));
|
__attribute__((nonnull (1, 2)));
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
@ -2602,7 +2602,7 @@ following declaration is equivalent to the previous example:
|
||||||
@smallexample
|
@smallexample
|
||||||
extern void *
|
extern void *
|
||||||
my_memcpy (void *dest, const void *src, size_t len)
|
my_memcpy (void *dest, const void *src, size_t len)
|
||||||
__attribute__((nonnull));
|
__attribute__((nonnull));
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@item noreturn
|
@item noreturn
|
||||||
|
@ -5503,12 +5503,12 @@ the @code{offsetof} macro.
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
primary:
|
primary:
|
||||||
"__builtin_offsetof" "(" @code{typename} "," offsetof_member_designator ")"
|
"__builtin_offsetof" "(" @code{typename} "," offsetof_member_designator ")"
|
||||||
|
|
||||||
offsetof_member_designator:
|
offsetof_member_designator:
|
||||||
@code{identifier}
|
@code{identifier}
|
||||||
| offsetof_member_designator "." @code{identifier}
|
| offsetof_member_designator "." @code{identifier}
|
||||||
| offsetof_member_designator "[" @code{expr} "]"
|
| offsetof_member_designator "[" @code{expr} "]"
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
This extension is sufficient such that
|
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);
|
assert (__builtin_object_size (p, 1) == sizeof (var.buf1) - 1);
|
||||||
/* The object q points to is var. */
|
/* The object q points to is var. */
|
||||||
assert (__builtin_object_size (q, 0)
|
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. */
|
/* The subobject q points to is var.b. */
|
||||||
assert (__builtin_object_size (q, 1) == sizeof (var.b));
|
assert (__builtin_object_size (q, 1) == sizeof (var.b));
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
@ -5753,11 +5753,11 @@ There are also checking built-in functions for formatted output functions.
|
||||||
@smallexample
|
@smallexample
|
||||||
int __builtin___sprintf_chk (char *s, int flag, size_t os, const char *fmt, ...);
|
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,
|
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,
|
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,
|
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
|
@end smallexample
|
||||||
|
|
||||||
The added @var{flag} argument is passed unchanged to @code{__sprintf_chk}
|
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}).
|
Predefined Macros,cpp,The GNU C Preprocessor}).
|
||||||
|
|
||||||
@menu
|
@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.
|
* Restricted Pointers:: C99 restricted pointers and references.
|
||||||
* Vague Linkage:: Where G++ puts inlines, vtables and such.
|
* Vague Linkage:: Where G++ puts inlines, vtables and such.
|
||||||
* C++ Interface:: You can use a single C++ header file for both
|
* C++ Interface:: You can use a single C++ header file for both
|
||||||
|
|
|
@ -147,12 +147,12 @@ Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
|
||||||
* GNU Project:: The GNU Project and GNU/Linux.
|
* GNU Project:: The GNU Project and GNU/Linux.
|
||||||
|
|
||||||
* Copying:: GNU General Public License says
|
* 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.
|
* GNU Free Documentation License:: How you can copy and share this manual.
|
||||||
* Contributors:: People who have contributed to GCC.
|
* Contributors:: People who have contributed to GCC.
|
||||||
|
|
||||||
* Option Index:: Index to command line options.
|
* 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
|
@end menu
|
||||||
|
|
||||||
@include frontends.texi
|
@include frontends.texi
|
||||||
|
|
|
@ -125,7 +125,7 @@ Additional tutorial information is linked to from
|
||||||
* GNU Project:: The GNU Project and GNU/Linux.
|
* GNU Project:: The GNU Project and GNU/Linux.
|
||||||
|
|
||||||
* Copying:: GNU General Public License says
|
* 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.
|
* GNU Free Documentation License:: How you can copy and share this manual.
|
||||||
* Contributors:: People who have contributed to GCC.
|
* Contributors:: People who have contributed to GCC.
|
||||||
|
|
||||||
|
|
|
@ -38,8 +38,8 @@ included in the gfdl(7) man page.
|
||||||
test code coverage in your programs.
|
test code coverage in your programs.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Gcov Intro:: Introduction to gcov.
|
* Gcov Intro:: Introduction to gcov.
|
||||||
* Invoking Gcov:: How to use gcov.
|
* Invoking Gcov:: How to use gcov.
|
||||||
* Gcov and Optimization:: Using gcov with GCC optimization.
|
* Gcov and Optimization:: Using gcov with GCC optimization.
|
||||||
* Gcov Data Files:: The files used by gcov.
|
* Gcov Data Files:: The files used by gcov.
|
||||||
* Cross-profiling:: Data file relocation.
|
* Cross-profiling:: Data file relocation.
|
||||||
|
|
|
@ -66,9 +66,9 @@ The parser understands simple typedefs such as
|
||||||
These don't need to be marked.
|
These don't need to be marked.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* GTY Options:: What goes inside a @code{GTY(())}.
|
* GTY Options:: What goes inside a @code{GTY(())}.
|
||||||
* GGC Roots:: Making global variables GGC roots.
|
* GGC Roots:: Making global variables GGC roots.
|
||||||
* Files:: How the generated files work.
|
* Files:: How the generated files work.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node GTY Options
|
@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:
|
variable-length array, like this:
|
||||||
@smallexample
|
@smallexample
|
||||||
struct rtvec_def GTY(()) @{
|
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];
|
rtx GTY ((length ("%h.num_elem"))) elem[1];
|
||||||
@};
|
@};
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
|
@ -22,9 +22,9 @@ definitions, consider using the @code{xm_defines} variable in your
|
||||||
header. @xref{System Config}.
|
header. @xref{System Config}.
|
||||||
|
|
||||||
@menu
|
@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?
|
* 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
|
@end menu
|
||||||
|
|
||||||
@node Host Common
|
@node Host Common
|
||||||
|
|
|
@ -655,7 +655,7 @@ internal data files of GCC@. The default is @file{@var{exec-prefix}/lib}.
|
||||||
|
|
||||||
@item --libexecdir=@var{dirname}
|
@item --libexecdir=@var{dirname}
|
||||||
Specify the installation directory for internal executables of GCC@.
|
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}
|
@item --with-slibdir=@var{dirname}
|
||||||
Specify the installation directory for the shared libgcc library. The
|
Specify the installation directory for the shared libgcc library. The
|
||||||
|
|
|
@ -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.
|
@xref{Option Index}, for an index to GCC's options.
|
||||||
|
|
||||||
@menu
|
@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:
|
* Overall Options:: Controlling the kind of output:
|
||||||
an executable, object files, assembler files,
|
an executable, object files, assembler files,
|
||||||
or preprocessed source.
|
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:: Controlling the variant of C language compiled.
|
||||||
* C++ Dialect Options:: Variations on C++.
|
* C++ Dialect Options:: Variations on C++.
|
||||||
* Objective-C and Objective-C++ Dialect Options:: Variations on Objective-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
|
-mprefergot -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol
|
||||||
-mdivsi3_libfunc=@var{name} -mfixed-range=@var{register-range} @gol
|
-mdivsi3_libfunc=@var{name} -mfixed-range=@var{register-range} @gol
|
||||||
-madjust-unroll -mindexed-addressing -mgettrcost=@var{number} -mpt-fixed @gol
|
-madjust-unroll -mindexed-addressing -mgettrcost=@var{number} -mpt-fixed @gol
|
||||||
-minvalid-symbols}
|
-minvalid-symbols}
|
||||||
|
|
||||||
@emph{SPARC Options}
|
@emph{SPARC Options}
|
||||||
@gccoptlist{-mcpu=@var{cpu-type} @gol
|
@gccoptlist{-mcpu=@var{cpu-type} @gol
|
||||||
|
@ -5349,9 +5349,9 @@ as follows:
|
||||||
|
|
||||||
@table @gcctabopt
|
@table @gcctabopt
|
||||||
@item max-inline-insns-single
|
@item max-inline-insns-single
|
||||||
is set to @var{n}/2.
|
is set to @var{n}/2.
|
||||||
@item max-inline-insns-auto
|
@item max-inline-insns-auto
|
||||||
is set to @var{n}/2.
|
is set to @var{n}/2.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
See below for a documentation of the individual
|
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
|
Loader should initialize SDRAM before loading the application
|
||||||
into SDRAM. This option defines @code{__BFIN_SDRAM}.
|
into SDRAM. This option defines @code{__BFIN_SDRAM}.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node CRIS Options
|
@node CRIS Options
|
||||||
@subsection CRIS Options
|
@subsection CRIS Options
|
||||||
@cindex CRIS Options
|
@cindex CRIS Options
|
||||||
|
|
|
@ -17,16 +17,16 @@ RTL, as well as the interfaces to loop-related analyses (induction
|
||||||
variable analysis and number of iterations analysis).
|
variable analysis and number of iterations analysis).
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Loop representation:: Representation and analysis of loops.
|
* Loop representation:: Representation and analysis of loops.
|
||||||
* Loop querying:: Getting information about loops.
|
* Loop querying:: Getting information about loops.
|
||||||
* Loop manipulation:: Loop manipulation functions.
|
* Loop manipulation:: Loop manipulation functions.
|
||||||
* LCSSA:: Loop-closed SSA form.
|
* LCSSA:: Loop-closed SSA form.
|
||||||
* Scalar evolutions:: Induction variables on GIMPLE.
|
* Scalar evolutions:: Induction variables on GIMPLE.
|
||||||
* loop-iv:: Induction variables on RTL.
|
* loop-iv:: Induction variables on RTL.
|
||||||
* Number of iterations:: Number of iterations analysis.
|
* Number of iterations:: Number of iterations analysis.
|
||||||
* Dependency analysis:: Data dependency analysis.
|
* Dependency analysis:: Data dependency analysis.
|
||||||
* Lambda:: Linear loop transformations framework.
|
* Lambda:: Linear loop transformations framework.
|
||||||
* Omega:: A solver for linear programming problems.
|
* Omega:: A solver for linear programming problems.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Loop representation
|
@node Loop representation
|
||||||
|
|
|
@ -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
|
code is syntactically correct (e.g., that you did not use GCC extensions
|
||||||
by mistake), and avoids spurious bootstrap comparison
|
by mistake), and avoids spurious bootstrap comparison
|
||||||
failures@footnote{Except if the compiler was buggy and miscompiled
|
failures@footnote{Except if the compiler was buggy and miscompiled
|
||||||
some of the files that were not modified. In this case, it's best
|
some of the files that were not modified. In this case, it's best
|
||||||
to use @command{make restrap}.}.
|
to use @command{make restrap}.}.
|
||||||
|
|
||||||
Other targets available from the top level include:
|
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 each package that is bootstrapped, rename directories so that,
|
||||||
for example, @file{gcc} points to the stage@var{N} GCC, compiled
|
for example, @file{gcc} points to the stage@var{N} GCC, compiled
|
||||||
with the stage@var{N-1} GCC@footnote{Customarily, the system compiler
|
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
|
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
|
stage@var{N} GCC@. If you only need to execute GCC (but you need
|
||||||
|
|
|
@ -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.
|
* Example:: An explained example of a @code{define_insn} pattern.
|
||||||
* RTL Template:: The RTL template defines what insns match a pattern.
|
* RTL Template:: The RTL template defines what insns match a pattern.
|
||||||
* Output Template:: The output template says how to make assembler code
|
* 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
|
* 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
|
* Predicates:: Controlling what kinds of operands can be used
|
||||||
for an insn.
|
for an insn.
|
||||||
* Constraints:: Fine-tuning operand selection.
|
* Constraints:: Fine-tuning operand selection.
|
||||||
* Standard Names:: Names mark patterns to use for code generation.
|
* Standard Names:: Names mark patterns to use for code generation.
|
||||||
* Pattern Ordering:: When the order of patterns makes a difference.
|
* 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.
|
* Looping Patterns:: How to define patterns for special looping insns.
|
||||||
* Insn Canonicalizations::Canonicalization of Instructions
|
* Insn Canonicalizations::Canonicalization of Instructions
|
||||||
* Expander Definitions::Generating a sequence of several RTL insns
|
* Expander Definitions::Generating a sequence of several RTL insns
|
||||||
for a standard operation.
|
for a standard operation.
|
||||||
* Insn Splitting:: Splitting Instructions into Multiple Instructions.
|
* 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.
|
* Peephole Definitions::Defining machine-specific peephole optimizations.
|
||||||
* Insn Attributes:: Specifying the value of attributes for generated insns.
|
* Insn Attributes:: Specifying the value of attributes for generated insns.
|
||||||
* Conditional Execution::Generating @code{define_insn} patterns for
|
* Conditional Execution::Generating @code{define_insn} patterns for
|
||||||
predication.
|
predication.
|
||||||
* Constant Definitions::Defining symbolic constants that can be used in the
|
* Constant Definitions::Defining symbolic constants that can be used in the
|
||||||
md file.
|
md file.
|
||||||
* Iterators:: Using iterators to generate patterns from a template.
|
* 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
|
constraints that aren't. The compiler source file mentioned in the
|
||||||
table heading for each architecture is the definitive reference for
|
table heading for each architecture is the definitive reference for
|
||||||
the meanings of that architecture's constraints.
|
the meanings of that architecture's constraints.
|
||||||
|
|
||||||
@table @emph
|
@table @emph
|
||||||
@item ARM family---@file{config/arm/arm.h}
|
@item ARM family---@file{config/arm/arm.h}
|
||||||
@table @code
|
@table @code
|
||||||
|
@ -2849,10 +2849,10 @@ Signed 16-bit constant (@minus{}32768--32767)
|
||||||
@item L
|
@item L
|
||||||
Value appropriate as displacement.
|
Value appropriate as displacement.
|
||||||
@table @code
|
@table @code
|
||||||
@item (0..4095)
|
@item (0..4095)
|
||||||
for short displacement
|
for short displacement
|
||||||
@item (-524288..524287)
|
@item (-524288..524287)
|
||||||
for long displacement
|
for long displacement
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@item M
|
@item M
|
||||||
|
@ -2861,14 +2861,14 @@ Constant integer with a value of 0x7fffffff.
|
||||||
@item N
|
@item N
|
||||||
Multiple letter constraint followed by 4 parameter letters.
|
Multiple letter constraint followed by 4 parameter letters.
|
||||||
@table @code
|
@table @code
|
||||||
@item 0..9:
|
@item 0..9:
|
||||||
number of the part counting from most to least significant
|
number of the part counting from most to least significant
|
||||||
@item H,Q:
|
@item H,Q:
|
||||||
mode of the part
|
mode of the part
|
||||||
@item D,S,H:
|
@item D,S,H:
|
||||||
mode of the containing operand
|
mode of the containing operand
|
||||||
@item 0,F:
|
@item 0,F:
|
||||||
value of the other parts (F---all bits set)
|
value of the other parts (F---all bits set)
|
||||||
@end table
|
@end table
|
||||||
The constraint matches if the specified part of a constant
|
The constraint matches if the specified part of a constant
|
||||||
has a value different from its other parts.
|
has a value different from its other parts.
|
||||||
|
@ -3398,8 +3398,8 @@ definition from the i386 machine description.)
|
||||||
(define_peephole2
|
(define_peephole2
|
||||||
[(match_scratch:SI 3 "r")
|
[(match_scratch:SI 3 "r")
|
||||||
(set (match_operand:SI 0 "register_operand" "")
|
(set (match_operand:SI 0 "register_operand" "")
|
||||||
(mult:SI (match_operand:SI 1 "memory_operand" "")
|
(mult:SI (match_operand:SI 1 "memory_operand" "")
|
||||||
(match_operand:SI 2 "immediate_operand" "")))]
|
(match_operand:SI 2 "immediate_operand" "")))]
|
||||||
|
|
||||||
"!satisfies_constraint_K (operands[2])"
|
"!satisfies_constraint_K (operands[2])"
|
||||||
|
|
||||||
|
@ -5440,15 +5440,15 @@ following for its @code{dbra} instruction:
|
||||||
@group
|
@group
|
||||||
(define_insn "decrement_and_branch_until_zero"
|
(define_insn "decrement_and_branch_until_zero"
|
||||||
[(set (pc)
|
[(set (pc)
|
||||||
(if_then_else
|
(if_then_else
|
||||||
(ge (plus:SI (match_operand:SI 0 "general_operand" "+d*am")
|
(ge (plus:SI (match_operand:SI 0 "general_operand" "+d*am")
|
||||||
(const_int -1))
|
(const_int -1))
|
||||||
(const_int 0))
|
(const_int 0))
|
||||||
(label_ref (match_operand 1 "" ""))
|
(label_ref (match_operand 1 "" ""))
|
||||||
(pc)))
|
(pc)))
|
||||||
(set (match_dup 0)
|
(set (match_dup 0)
|
||||||
(plus:SI (match_dup 0)
|
(plus:SI (match_dup 0)
|
||||||
(const_int -1)))]
|
(const_int -1)))]
|
||||||
"find_reg_note (insn, REG_NONNEG, 0)"
|
"find_reg_note (insn, REG_NONNEG, 0)"
|
||||||
"@dots{}")
|
"@dots{}")
|
||||||
@end group
|
@end group
|
||||||
|
@ -5466,14 +5466,14 @@ pattern will not be matched by the combiner.
|
||||||
@group
|
@group
|
||||||
(define_insn "decrement_and_branch_until_zero"
|
(define_insn "decrement_and_branch_until_zero"
|
||||||
[(set (pc)
|
[(set (pc)
|
||||||
(if_then_else
|
(if_then_else
|
||||||
(ge (match_operand:SI 0 "general_operand" "+d*am")
|
(ge (match_operand:SI 0 "general_operand" "+d*am")
|
||||||
(const_int 1))
|
(const_int 1))
|
||||||
(label_ref (match_operand 1 "" ""))
|
(label_ref (match_operand 1 "" ""))
|
||||||
(pc)))
|
(pc)))
|
||||||
(set (match_dup 0)
|
(set (match_dup 0)
|
||||||
(plus:SI (match_dup 0)
|
(plus:SI (match_dup 0)
|
||||||
(const_int -1)))]
|
(const_int -1)))]
|
||||||
"find_reg_note (insn, REG_NONNEG, 0)"
|
"find_reg_note (insn, REG_NONNEG, 0)"
|
||||||
"@dots{}")
|
"@dots{}")
|
||||||
@end group
|
@end group
|
||||||
|
@ -6095,7 +6095,7 @@ from i386.md:
|
||||||
"&& reload_completed"
|
"&& reload_completed"
|
||||||
[(parallel [(set (match_dup 0)
|
[(parallel [(set (match_dup 0)
|
||||||
(and:SI (match_dup 0) (const_int 65535)))
|
(and:SI (match_dup 0) (const_int 65535)))
|
||||||
(clobber (reg:CC 17))])]
|
(clobber (reg:CC 17))])]
|
||||||
""
|
""
|
||||||
[(set_attr "type" "alu1")])
|
[(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
|
automaton state to another one. This algorithm is very fast, and
|
||||||
furthermore, its speed is not dependent on processor
|
furthermore, its speed is not dependent on processor
|
||||||
complexity@footnote{However, the size of the automaton depends on
|
complexity@footnote{However, the size of the automaton depends on
|
||||||
processor complexity. To limit this effect, machine descriptions
|
processor complexity. To limit this effect, machine descriptions
|
||||||
can split orthogonal parts of the machine description among several
|
can split orthogonal parts of the machine description among several
|
||||||
automata: but then, since each of these must be stepped independently,
|
automata: but then, since each of these must be stepped independently,
|
||||||
this does cause a small decrease in the algorithm's performance.}.
|
this does cause a small decrease in the algorithm's performance.}.
|
||||||
|
|
||||||
@cindex automaton based pipeline description
|
@cindex automaton based pipeline description
|
||||||
The rest of this section describes the directives that constitute
|
The rest of this section describes the directives that constitute
|
||||||
|
@ -7839,8 +7839,8 @@ rtx-based construct, such as a @code{define_insn},
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Defining Mode Iterators:: Defining a new mode iterator.
|
* Defining Mode Iterators:: Defining a new mode iterator.
|
||||||
* Substitutions:: Combining mode iterators with substitutions
|
* Substitutions:: Combining mode iterators with substitutions
|
||||||
* Examples:: Examples
|
* Examples:: Examples
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Defining Mode Iterators
|
@node Defining Mode Iterators
|
||||||
|
|
|
@ -29,13 +29,13 @@ The files can contain the following types of record:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
A language definition record. These records have two fields: the
|
A language definition record. These records have two fields: the
|
||||||
string @samp{Language} and the name of the language. Once a language
|
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.
|
has been declared in this way, it can be used as an option property.
|
||||||
@xref{Option properties}.
|
@xref{Option properties}.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
An option definition record. These records have the following fields:
|
An option definition record. These records have the following fields:
|
||||||
|
|
||||||
@enumerate
|
@enumerate
|
||||||
@item
|
@item
|
||||||
|
@ -62,11 +62,11 @@ tab forms the help text. This allows you to elaborate on what type
|
||||||
of argument the option takes.
|
of argument the option takes.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
A target mask record. These records have one field of the form
|
A target mask record. These records have one field of the form
|
||||||
@samp{Mask(@var{x})}. The options-processing script will automatically
|
@samp{Mask(@var{x})}. The options-processing script will automatically
|
||||||
allocate a bit in @code{target_flags} (@pxref{Run-time Target}) for
|
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
|
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
|
macro that has the value 1 when bit @code{MASK_@var{x}} is set and
|
||||||
0 otherwise.
|
0 otherwise.
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ where near complete.
|
||||||
@menu
|
@menu
|
||||||
* Parsing pass:: The language front end turns text into bits.
|
* Parsing pass:: The language front end turns text into bits.
|
||||||
* Gimplification pass:: The bits are turned into something we can optimize.
|
* 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.
|
* Tree-SSA passes:: Optimizations on a high-level representation.
|
||||||
* RTL passes:: Optimizations on a low-level representation.
|
* RTL passes:: Optimizations on a low-level representation.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
|
@ -198,9 +198,7 @@ timestamp.
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item The standard GNU @file{config.sub} and @file{config.guess}
|
@item The standard GNU @file{config.sub} and @file{config.guess}
|
||||||
files, kept in the top level directory, are used. FIXME: when is the
|
files, kept in the top level directory, are used.
|
||||||
@file{config.guess} file in the @file{gcc} directory (that just calls
|
|
||||||
the top level one) used?
|
|
||||||
|
|
||||||
@item The file @file{config.gcc} is used to handle configuration
|
@item The file @file{config.gcc} is used to handle configuration
|
||||||
specific to the particular target machine. The file
|
specific to the particular target machine. The file
|
||||||
|
|
|
@ -35,7 +35,7 @@ through the macros defined in the @file{.h} file.
|
||||||
* Register Classes:: Defining the classes of hardware registers.
|
* Register Classes:: Defining the classes of hardware registers.
|
||||||
* Old Constraints:: The old way to define machine-specific constraints.
|
* Old Constraints:: The old way to define machine-specific constraints.
|
||||||
* Stack and Calling:: Defining which way the stack grows and by how much.
|
* 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.
|
* Trampolines:: Code set up at run time to enter a nested function.
|
||||||
* Library Calls:: Controlling how library routines are implicitly called.
|
* Library Calls:: Controlling how library routines are implicitly called.
|
||||||
* Addressing Modes:: Defining addressing modes valid for memory operands.
|
* 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.
|
* Costs:: Defining relative costs of different operations.
|
||||||
* Scheduling:: Adjusting the behavior of the instruction scheduler.
|
* Scheduling:: Adjusting the behavior of the instruction scheduler.
|
||||||
* Sections:: Dividing storage into text, data, and other sections.
|
* 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.
|
* Assembler Format:: Defining how to write insns and pseudo-ops to output.
|
||||||
* Debugging Info:: Defining the format of debugging output.
|
* Debugging Info:: Defining the format of debugging output.
|
||||||
* Floating Point:: Handling floating point for cross-compilers.
|
* 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}.
|
For returning values in registers, see @ref{Scalar Return}.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Register Basics:: Number and kinds of registers.
|
* Register Basics:: Number and kinds of registers.
|
||||||
* Allocation Order:: Order in which registers are allocated.
|
* Allocation Order:: Order in which registers are allocated.
|
||||||
* Values in Registers:: What kinds of values each reg can hold.
|
* Values in Registers:: What kinds of values each reg can hold.
|
||||||
* Leaf Functions:: Renumbering registers for leaf functions.
|
* Leaf Functions:: Renumbering registers for leaf functions.
|
||||||
* Stack Registers:: Handling a register stack such as 80387.
|
* Stack Registers:: Handling a register stack such as 80387.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Register Basics
|
@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
|
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},
|
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
|
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
|
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.
|
type of @var{c}, by copying its address into a base register.
|
||||||
|
@ -6779,10 +6779,10 @@ instructions do.
|
||||||
* Uninitialized Data:: Output of uninitialized variables.
|
* Uninitialized Data:: Output of uninitialized variables.
|
||||||
* Label Output:: Output and generation of labels.
|
* Label Output:: Output and generation of labels.
|
||||||
* Initialization:: General principles of initialization
|
* Initialization:: General principles of initialization
|
||||||
and termination routines.
|
and termination routines.
|
||||||
* Macros for Initialization::
|
* Macros for Initialization::
|
||||||
Specific macros that control the handling of
|
Specific macros that control the handling of
|
||||||
initialization and termination routines.
|
initialization and termination routines.
|
||||||
* Instruction Output:: Output of actual instructions.
|
* Instruction Output:: Output of actual instructions.
|
||||||
* Dispatch Tables:: Output of jump tables.
|
* Dispatch Tables:: Output of jump tables.
|
||||||
* Exception Region Output:: Output of exception region code.
|
* 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}
|
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
|
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
|
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,
|
The default version of this function handles choosing code vs data,
|
||||||
read-only vs read-write data, and @code{flag_pic}. You should only
|
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.
|
default to normal parentheses, which is correct for most assemblers.
|
||||||
@end deftypevr
|
@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:
|
of @code{ASM_OUTPUT_DOUBLE} and the like:
|
||||||
|
|
||||||
@defmac REAL_VALUE_TO_TARGET_SINGLE (@var{x}, @var{l})
|
@defmac REAL_VALUE_TO_TARGET_SINGLE (@var{x}, @var{l})
|
||||||
|
|
|
@ -37,12 +37,12 @@ functions and programming constructs needed to implement optimization
|
||||||
passes for GIMPLE@.
|
passes for GIMPLE@.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* GENERIC:: A high-level language-independent representation.
|
* GENERIC:: A high-level language-independent representation.
|
||||||
* GIMPLE:: A lower-level factored tree representation.
|
* GIMPLE:: A lower-level factored tree representation.
|
||||||
* Annotations:: Attributes for statements and variables.
|
* Annotations:: Attributes for statements and variables.
|
||||||
* Statement Operands:: Variables referenced by GIMPLE statements.
|
* Statement Operands:: Variables referenced by GIMPLE statements.
|
||||||
* SSA:: Static Single Assignment representation.
|
* SSA:: Static Single Assignment representation.
|
||||||
* Alias analysis:: Representing aliased loads and stores.
|
* Alias analysis:: Representing aliased loads and stores.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node GENERIC
|
@node GENERIC
|
||||||
|
@ -735,10 +735,10 @@ void f()
|
||||||
| RELOP
|
| RELOP
|
||||||
op0 -> val
|
op0 -> val
|
||||||
op1 -> val
|
op1 -> val
|
||||||
| COND_EXPR
|
| COND_EXPR
|
||||||
op0 -> condition
|
op0 -> condition
|
||||||
op1 -> val
|
op1 -> val
|
||||||
op2 -> val
|
op2 -> val
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@node Annotations
|
@node Annotations
|
||||||
|
@ -943,7 +943,7 @@ How to choose the appropriate iterator:
|
||||||
|
|
||||||
@enumerate
|
@enumerate
|
||||||
@item Determine whether you are need to see the operand pointers, or just the
|
@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
|
@smallexample
|
||||||
Need Macro:
|
Need Macro:
|
||||||
|
@ -954,12 +954,12 @@ tree FOR_EACH_SSA_TREE_OPERAND
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@item You need to declare a variable of the type you are interested
|
@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
|
in, and an ssa_op_iter structure which serves as the loop controlling
|
||||||
controlling variable.
|
variable.
|
||||||
|
|
||||||
@item Determine which operands you wish to use, and specify the flags of
|
@item Determine which operands you wish to use, and specify the flags of
|
||||||
those you are interested in. They are documented in
|
those you are interested in. They are documented in
|
||||||
@file{tree-ssa-operands.h}:
|
@file{tree-ssa-operands.h}:
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
#define SSA_OP_USE 0x01 /* @r{Real USE operands.} */
|
#define SSA_OP_USE 0x01 /* @r{Real USE operands.} */
|
||||||
|
@ -1228,27 +1228,27 @@ which''.
|
||||||
|
|
||||||
The following macros can be used to examine PHI nodes
|
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.,
|
Returns the @code{SSA_NAME} created by PHI node @var{phi} (i.e.,
|
||||||
@var{phi}'s LHS)@.
|
@var{phi}'s LHS)@.
|
||||||
@end defmac
|
@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
|
Returns the number of arguments in @var{phi}. This number is exactly
|
||||||
the number of incoming edges to the basic block holding @var{phi}@.
|
the number of incoming edges to the basic block holding @var{phi}@.
|
||||||
@end defmac
|
@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}@.
|
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
|
Each element of this tuple contains an @code{SSA_NAME} @var{var} and
|
||||||
the incoming edge through which @var{var} flows.
|
the incoming edge through which @var{var} flows.
|
||||||
@end defmac
|
@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}.
|
Returns the incoming edge for the @var{i}th argument of @var{phi}.
|
||||||
@end defmac
|
@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}.
|
Returns the @code{SSA_NAME} for the @var{i}th argument of @var{phi}.
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
|
@ -1274,36 +1274,36 @@ the program@.
|
||||||
For instance, given the following code:
|
For instance, given the following code:
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
1 L0:
|
1 L0:
|
||||||
2 x_1 = PHI (0, x_5)
|
2 x_1 = PHI (0, x_5)
|
||||||
3 if (x_1 < 10)
|
3 if (x_1 < 10)
|
||||||
4 if (x_1 > 7)
|
4 if (x_1 > 7)
|
||||||
5 y_2 = 0
|
5 y_2 = 0
|
||||||
6 else
|
6 else
|
||||||
7 y_3 = x_1 + x_7
|
7 y_3 = x_1 + x_7
|
||||||
8 endif
|
8 endif
|
||||||
9 x_5 = x_1 + 1
|
9 x_5 = x_1 + 1
|
||||||
10 goto L0;
|
10 goto L0;
|
||||||
11 endif
|
11 endif
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
Suppose that we insert new names @code{x_10} and @code{x_11} (lines
|
Suppose that we insert new names @code{x_10} and @code{x_11} (lines
|
||||||
@code{4} and @code{8})@.
|
@code{4} and @code{8})@.
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
1 L0:
|
1 L0:
|
||||||
2 x_1 = PHI (0, x_5)
|
2 x_1 = PHI (0, x_5)
|
||||||
3 if (x_1 < 10)
|
3 if (x_1 < 10)
|
||||||
4 x_10 = @dots{}
|
4 x_10 = @dots{}
|
||||||
5 if (x_1 > 7)
|
5 if (x_1 > 7)
|
||||||
6 y_2 = 0
|
6 y_2 = 0
|
||||||
7 else
|
7 else
|
||||||
8 x_11 = @dots{}
|
8 x_11 = @dots{}
|
||||||
9 y_3 = x_1 + x_7
|
9 y_3 = x_1 + x_7
|
||||||
10 endif
|
10 endif
|
||||||
11 x_5 = x_1 + 1
|
11 x_5 = x_1 + 1
|
||||||
12 goto L0;
|
12 goto L0;
|
||||||
13 endif
|
13 endif
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
We want to replace all the uses of @code{x_1} with the new definitions
|
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
|
@itemize @bullet
|
||||||
@item @code{TODO_update_ssa}. Update the SSA form inserting PHI nodes
|
@item @code{TODO_update_ssa}. Update the SSA form inserting PHI nodes
|
||||||
for newly exposed symbols and virtual names marked for updating.
|
for newly exposed symbols and virtual names marked for updating.
|
||||||
When updating real names, only insert PHI nodes for a real name
|
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} in blocks reached by all the new and old definitions for
|
||||||
@code{O_j}. If the iterated dominance frontier for @code{O_j}
|
@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
|
is not pruned, we may end up inserting PHI nodes in blocks that
|
||||||
have one or more edges with no incoming definition for
|
have one or more edges with no incoming definition for
|
||||||
@code{O_j}. This would lead to uninitialized warnings for
|
@code{O_j}. This would lead to uninitialized warnings for
|
||||||
@code{O_j}'s symbol@.
|
@code{O_j}'s symbol@.
|
||||||
|
|
||||||
@item @code{TODO_update_ssa_no_phi}. Update the SSA form without
|
@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
|
inserting any new PHI nodes at all. This is used by passes that
|
||||||
have either inserted all the PHI nodes themselves or 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
|
need only to patch use-def and def-def chains for virtuals
|
||||||
(e.g., DCE)@.
|
(e.g., DCE)@.
|
||||||
|
|
||||||
|
|
||||||
@item @code{TODO_update_ssa_full_phi}. Insert PHI nodes everywhere
|
@item @code{TODO_update_ssa_full_phi}. Insert PHI nodes everywhere
|
||||||
they are needed. No pruning of the IDF is done. This is used
|
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
|
by passes that need the PHI nodes for @code{O_j} even if it
|
||||||
means that some arguments will come from the default definition
|
means that some arguments will come from the default definition
|
||||||
of @code{O_j}'s symbol (e.g., @code{pass_linear_transform})@.
|
of @code{O_j}'s symbol (e.g., @code{pass_linear_transform})@.
|
||||||
|
|
||||||
WARNING: If you need to use this flag, chances are that your
|
WARNING: If you need to use this flag, chances are that your
|
||||||
pass may be doing something wrong. Inserting PHI nodes for an
|
pass may be doing something wrong. Inserting PHI nodes for an
|
||||||
old name where not all edges carry a new replacement may lead to
|
old name where not all edges carry a new replacement may lead to
|
||||||
silent codegen errors or spurious uninitialized warnings@.
|
silent codegen errors or spurious uninitialized warnings@.
|
||||||
|
|
||||||
@item @code{TODO_update_ssa_only_virtuals}. Passes that update the
|
@item @code{TODO_update_ssa_only_virtuals}. Passes that update the
|
||||||
SSA form on their own may want to delegate the updating of
|
SSA form on their own may want to delegate the updating of
|
||||||
virtual names to the generic updater. Since FUD chains are
|
virtual names to the generic updater. Since FUD chains are
|
||||||
easier to maintain, this simplifies the work they need to do.
|
easier to maintain, this simplifies the work they need to do.
|
||||||
NOTE: If this flag is used, any OLD->NEW mappings for real names
|
NOTE: If this flag is used, any OLD->NEW mappings for real names
|
||||||
are explicitly destroyed and only the symbols marked for
|
are explicitly destroyed and only the symbols marked for
|
||||||
renaming are processed@.
|
renaming are processed@.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@subsection Preserving the virtual SSA form
|
@subsection Preserving the virtual SSA form
|
||||||
|
@ -1445,8 +1445,8 @@ slightly different. For each argument @var{arg} of the PHI node, this
|
||||||
function will:
|
function will:
|
||||||
|
|
||||||
@enumerate
|
@enumerate
|
||||||
@item Walk the use-def chains for @var{arg}.
|
@item Walk the use-def chains for @var{arg}.
|
||||||
@item Call @code{FN (@var{arg}, @var{phi}, @var{data})}.
|
@item Call @code{FN (@var{arg}, @var{phi}, @var{data})}.
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
Note how the first argument to @var{fn} is no longer the original
|
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
|
@enumerate
|
||||||
@item Once to initialize any local data needed while processing
|
@item Once to initialize any local data needed while processing
|
||||||
@var{bb} and its children. This local data is pushed into an
|
@var{bb} and its children. This local data is pushed into an
|
||||||
internal stack which is automatically pushed and popped as the
|
internal stack which is automatically pushed and popped as the
|
||||||
walker traverses the dominator tree.
|
walker traverses the dominator tree.
|
||||||
|
|
||||||
@item Once before traversing all the statements in the @var{bb}.
|
@item Once before traversing all the statements in the @var{bb}.
|
||||||
|
|
||||||
@item Once for every statement inside @var{bb}.
|
@item Once for every statement inside @var{bb}.
|
||||||
|
|
||||||
@item Once after traversing all the statements and before recursing
|
@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 It then recurses into all the dominator children of @var{bb}.
|
||||||
|
|
||||||
@item After recursing into all the dominator children of @var{bb} it
|
@item After recursing into all the dominator children of @var{bb} it
|
||||||
can, optionally, traverse every statement in @var{bb} again
|
can, optionally, traverse every statement in @var{bb} again
|
||||||
(i.e., repeating steps 2 and 3).
|
(i.e., repeating steps 2 and 3).
|
||||||
|
|
||||||
@item Once after walking the statements in @var{bb} and @var{bb}'s
|
@item Once after walking the statements in @var{bb} and @var{bb}'s
|
||||||
dominator children. At this stage, the block local data stack
|
dominator children. At this stage, the block local data stack
|
||||||
is popped.
|
is popped.
|
||||||
@end enumerate
|
@end enumerate
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
|
||||||
|
@ -1535,16 +1535,16 @@ int bar (void)
|
||||||
If you copy the symbol tag for a variable for some reason, you probably
|
If you copy the symbol tag for a variable for some reason, you probably
|
||||||
also want to copy the subvariables for that variable.
|
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
|
This phase walks the use-def chains in the SSA web looking for
|
||||||
three things:
|
three things:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item Assignments of the form @code{P_i = &VAR}
|
@item Assignments of the form @code{P_i = &VAR}
|
||||||
@item Assignments of the form P_i = malloc()
|
@item Assignments of the form P_i = malloc()
|
||||||
@item Pointers and ADDR_EXPR that escape the current function.
|
@item Pointers and ADDR_EXPR that escape the current function.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
The concept of `escaping' is the same one used in the Java world.
|
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
|
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
|
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.
|
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
|
We have two classes of memory tags. Memory tags associated with
|
||||||
the pointed-to data type of the pointers in the program. These
|
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.
|
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
|
This pass will compare the alias set of every symbol memory tag and
|
||||||
every addressable variable found in the program. Given a symbol
|
every addressable variable found in the program. Given a symbol
|
||||||
|
|
|
@ -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.
|
where people's opinions differ as to what is best.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Actual Bugs:: Bugs we will fix later.
|
* Actual Bugs:: Bugs we will fix later.
|
||||||
* Cross-Compiler Problems:: Common problems of cross compiling with GCC.
|
* Cross-Compiler Problems:: Common problems of cross compiling with GCC.
|
||||||
* Interoperation:: Problems using GCC with other compilers,
|
* 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.
|
* Incompatibilities:: GCC is incompatible with traditional C.
|
||||||
* Fixed Headers:: GCC uses corrected versions of system header files.
|
* 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
|
* 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.
|
* 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}.
|
* 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,
|
* Warnings and Errors:: Which problems in your code get warnings,
|
||||||
and which get errors.
|
and which get errors.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Actual Bugs
|
@node Actual Bugs
|
||||||
|
|
|
@ -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>
|
2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/35863
|
PR fortran/35863
|
||||||
|
|
|
@ -121,7 +121,7 @@ not accurately reflect the status of the most recent GNU Fortran compiler.
|
||||||
Data structures used by the frontend
|
Data structures used by the frontend
|
||||||
* LibGFortran:: The LibGFortran Runtime Library.
|
* LibGFortran:: The LibGFortran Runtime Library.
|
||||||
* GNU Free Documentation License::
|
* 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.
|
* Index:: Index of this documentation.
|
||||||
@end menu
|
@end menu
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
|
|
|
@ -190,7 +190,7 @@ Part II: Language Reference
|
||||||
* Copying:: GNU General Public License says
|
* Copying:: GNU General Public License says
|
||||||
how you can copy and share GNU Fortran.
|
how you can copy and share GNU Fortran.
|
||||||
* GNU Free Documentation License::
|
* 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.
|
* Funding:: How to help assure continued work for free software.
|
||||||
* Option Index:: Index of command line options
|
* Option Index:: Index of command line options
|
||||||
* Keyword Index:: Index of concepts
|
* Keyword Index:: Index of concepts
|
||||||
|
@ -229,7 +229,7 @@ or alternative to, the unix @command{f95} command;
|
||||||
* Preprocessing and conditional compilation:: The Fortran preprocessor
|
* Preprocessing and conditional compilation:: The Fortran preprocessor
|
||||||
* GNU Fortran and G77:: Why we chose to start from scratch.
|
* GNU Fortran and G77:: Why we chose to start from scratch.
|
||||||
* Project Status:: Status of GNU Fortran, roadmap, proposed extensions.
|
* Project Status:: Status of GNU Fortran, roadmap, proposed extensions.
|
||||||
* Standards:: Standards supported by GNU Fortran.
|
* Standards:: Standards supported by GNU Fortran.
|
||||||
@end menu
|
@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{NATIVE} Use the native format. This is the default.
|
||||||
@item @code{SWAP} Swap between little- and big-endian.
|
@item @code{SWAP} Swap between little- and big-endian.
|
||||||
@item @code{LITTLE_ENDIAN} Use the little-endian format
|
@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.
|
@item @code{BIG_ENDIAN} Use the big-endian format for unformatted files.
|
||||||
@end itemize
|
@end itemize
|
||||||
A missing mode for an exception is taken to mean @code{BIG_ENDIAN}.
|
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='NATIVE'} Use the native format. This is the default.
|
||||||
@item @code{CONVERT='SWAP'} Swap between little- and big-endian.
|
@item @code{CONVERT='SWAP'} Swap between little- and big-endian.
|
||||||
@item @code{CONVERT='LITTLE_ENDIAN'} Use the little-endian representation
|
@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
|
@item @code{CONVERT='BIG_ENDIAN'} Use the big-endian representation for
|
||||||
unformatted files.
|
unformatted files.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
Using the option could look like this:
|
Using the option could look like this:
|
||||||
|
|
|
@ -489,8 +489,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{I} @tab The type shall be @code{INTEGER}.
|
@item @var{I} @tab The type shall be @code{INTEGER}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -789,8 +788,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A} @tab The type of the argument shall be @code{REAL}.
|
@item @var{A} @tab The type of the argument shall be @code{REAL}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -1059,8 +1057,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A} @tab The type of the argument shall be @code{REAL}.
|
@item @var{A} @tab The type of the argument shall be @code{REAL}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -2004,9 +2001,9 @@ Subroutine
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{CPTR} @tab scalar of the type @code{C_FUNPTR}. It is
|
@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
|
@item @var{FPTR} @tab procedure pointer interoperable with @var{cptr}. It is
|
||||||
@code{INTENT(OUT)}.
|
@code{INTENT(OUT)}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@item @emph{Example}:
|
||||||
|
@ -2062,13 +2059,13 @@ Subroutine
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{CPTR} @tab scalar of the type @code{C_PTR}. It is
|
@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
|
@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}
|
@item @var{SHAPE} @tab (Optional) Rank-one array of type @code{INTEGER}
|
||||||
with @code{INTENT(IN)}. It shall be present
|
with @code{INTENT(IN)}. It shall be present
|
||||||
if and only if @var{fptr} is an array. The size
|
if and only if @var{fptr} is an array. The size
|
||||||
must be equal to the rank of @var{fptr}.
|
must be equal to the rank of @var{fptr}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@item @emph{Example}:
|
||||||
|
@ -2115,8 +2112,7 @@ Inquiry function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{X} @tab Associated scalar pointer or interoperable scalar
|
@item @var{X} @tab Associated scalar pointer or interoperable scalar
|
||||||
or allocated allocatable variable with @code{TARGET}
|
or allocated allocatable variable with @code{TARGET} attribute.
|
||||||
attribute.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -2213,8 +2209,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A} @tab The type shall be @code{REAL}.
|
@item @var{A} @tab The type shall be @code{REAL}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -2260,8 +2255,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{I} @tab The type shall be @code{INTEGER}.
|
@item @var{I} @tab The type shall be @code{INTEGER}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -2315,11 +2309,10 @@ Subroutine, function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{NAME} @tab The type shall be @code{CHARACTER} of default
|
@item @var{NAME} @tab The type shall be @code{CHARACTER} of default
|
||||||
kind and shall specify a valid path within the
|
kind and shall specify a valid path within the file system.
|
||||||
file system.
|
|
||||||
@item @var{STATUS} @tab (Optional) @code{INTEGER} status flag of the default
|
@item @var{STATUS} @tab (Optional) @code{INTEGER} status flag of the default
|
||||||
kind. Returns 0 on success, and a system specific
|
kind. Returns 0 on success, and a system specific and nonzero error code
|
||||||
and nonzero error code otherwise.
|
otherwise.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@item @emph{Example}:
|
||||||
|
@ -2434,13 +2427,11 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{X} @tab The type may be @code{INTEGER}, @code{REAL},
|
@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
|
@item @var{Y} @tab (Optional; only allowed if @var{X} is not
|
||||||
@code{COMPLEX}.) May be @code{INTEGER}
|
@code{COMPLEX}.) May be @code{INTEGER} or @code{REAL}.
|
||||||
or @code{REAL}.
|
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -2750,8 +2741,7 @@ Transformational function
|
||||||
@item @var{MASK} @tab The type shall be @code{LOGICAL}.
|
@item @var{MASK} @tab The type shall be @code{LOGICAL}.
|
||||||
@item @var{DIM} @tab (Optional) The type shall be @code{INTEGER}.
|
@item @var{DIM} @tab (Optional) The type shall be @code{INTEGER}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -2928,7 +2918,7 @@ Subroutine, function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{TIME} @tab The type shall be of type @code{INTEGER(KIND=8)}.
|
@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
|
@item @var{RESULT} @tab The type shall be of type @code{CHARACTER} and
|
||||||
of default kind.
|
of default kind.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@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(6)}: @tab The minutes of the hour
|
||||||
@item @tab @code{VALUE(7)}: @tab The seconds of the minute
|
@item @tab @code{VALUE(7)}: @tab The seconds of the minute
|
||||||
@item @tab @code{VALUE(8)}: @tab The milliseconds of the second
|
@item @tab @code{VALUE(8)}: @tab The milliseconds of the second
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Standard}:
|
@item @emph{Standard}:
|
||||||
Fortran 95 and later
|
Fortran 95 and later
|
||||||
|
@ -2996,11 +2986,11 @@ Subroutine
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{DATE} @tab (Optional) The type shall be @code{CHARACTER(LEN=8)}
|
@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)}
|
@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)}
|
@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)}.
|
@item @var{VALUES}@tab (Optional) The type shall be @code{INTEGER(8)}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
|
@ -3051,7 +3041,7 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A} @tab The type shall be @code{INTEGER}, @code{REAL},
|
@item @var{A} @tab The type shall be @code{INTEGER}, @code{REAL},
|
||||||
or @code{COMPLEX}.
|
or @code{COMPLEX}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -3098,9 +3088,9 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{X} @tab The type may be @code{INTEGER}, @code{REAL},
|
@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
|
@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
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -4060,10 +4050,10 @@ Subroutine, function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
|
@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}.
|
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
|
||||||
Returns 0 on success, -1 on end-of-file, and a
|
Returns 0 on success, -1 on end-of-file, and a system specific positive
|
||||||
system specific positive error code otherwise.
|
error code otherwise.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@item @emph{Example}:
|
||||||
|
@ -4123,10 +4113,10 @@ Subroutine, function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{UNIT} @tab The type shall be @code{INTEGER}.
|
@item @var{UNIT} @tab The type shall be @code{INTEGER}.
|
||||||
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
|
@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}.
|
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
|
||||||
Returns 0 on success, -1 on end-of-file and a
|
Returns 0 on success, -1 on end-of-file and a system specific positive
|
||||||
system specific positive error code otherwise.
|
error code otherwise.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@item @emph{Example}:
|
||||||
|
@ -4174,8 +4164,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A} @tab The type shall be @code{REAL}.
|
@item @var{A} @tab The type shall be @code{REAL}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -4305,10 +4294,10 @@ Subroutine, function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
|
@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}.
|
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
|
||||||
Returns 0 on success, -1 on end-of-file and a
|
Returns 0 on success, -1 on end-of-file and a system specific positive
|
||||||
system specific positive error code otherwise.
|
error code otherwise.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@item @emph{Example}:
|
||||||
|
@ -4362,10 +4351,10 @@ Subroutine, function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{UNIT} @tab The type shall be @code{INTEGER}.
|
@item @var{UNIT} @tab The type shall be @code{INTEGER}.
|
||||||
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
|
@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}.
|
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
|
||||||
Returns 0 on success, -1 on end-of-file and a
|
Returns 0 on success, -1 on end-of-file and a system specific positive
|
||||||
system specific positive error code otherwise.
|
error code otherwise.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@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{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{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
|
@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
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@item @emph{Example}:
|
||||||
|
@ -4873,9 +4862,9 @@ Subroutine
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{NUMBER} @tab Shall be a scalar of type @code{INTEGER(4)},
|
@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}
|
@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{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)}.
|
@item @var{STATUS} @tab (Option) Shall be a scalar of type @code{INTEGER(4)}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
@ -4939,7 +4928,7 @@ Subroutine, function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{C} @tab The type shall be @code{CHARACTER} and of default kind.
|
@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,
|
@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
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@item @emph{Example}:
|
||||||
|
@ -5231,17 +5220,16 @@ Subroutine
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{TIME} @tab An @code{INTEGER} scalar expression
|
@item @var{TIME} @tab An @code{INTEGER} scalar expression
|
||||||
corresponding to a system time, with
|
corresponding to a system time, with @code{INTENT(IN)}.
|
||||||
@code{INTENT(IN)}.
|
|
||||||
@item @var{VALUES} @tab A default @code{INTEGER} array with 9 elements,
|
@item @var{VALUES} @tab A default @code{INTEGER} array with 9 elements,
|
||||||
with @code{INTENT(OUT)}.
|
with @code{INTENT(OUT)}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
The elements of @var{VALUES} are assigned as follows:
|
The elements of @var{VALUES} are assigned as follows:
|
||||||
@enumerate
|
@enumerate
|
||||||
@item Seconds after the minute, range 0--59 or 0--61 to allow for leap
|
@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 Minutes after the hour, range 0--59
|
||||||
@item Hours past midnight, range 0--23
|
@item Hours past midnight, range 0--23
|
||||||
@item Day of month, range 0--31
|
@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 Number of days since Sunday, range 0--6
|
||||||
@item Days since January 1
|
@item Days since January 1
|
||||||
@item Daylight savings indicator: positive if daylight savings is in
|
@item Daylight savings indicator: positive if daylight savings is in
|
||||||
effect, zero if not, and negative if the information is not
|
effect, zero if not, and negative if the information is not available.
|
||||||
available.
|
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
@item @emph{See also}:
|
@item @emph{See also}:
|
||||||
|
@ -5289,8 +5276,7 @@ Subroutine, function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{C} @tab Shall of type @code{CHARACTER} and of default kind.
|
@item @var{C} @tab Shall of type @code{CHARACTER} and of default kind.
|
||||||
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
|
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER}.
|
||||||
Returns 0 on success, or a system specific error
|
Returns 0 on success, or a system specific error code otherwise.
|
||||||
code otherwise.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -5405,8 +5391,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{C} @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
|
@item @var{C} @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -5662,8 +5647,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{C} @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
|
@item @var{C} @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -5856,8 +5840,7 @@ Elemental function
|
||||||
@item @var{BACK} @tab (Optional) Shall be a scalar @code{LOGICAL}, with
|
@item @var{BACK} @tab (Optional) Shall be a scalar @code{LOGICAL}, with
|
||||||
@code{INTENT(IN)}
|
@code{INTENT(IN)}
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -5893,10 +5876,9 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A} @tab Shall be of type @code{INTEGER},
|
@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
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -5961,7 +5943,7 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A} @tab Shall be of type @code{INTEGER},
|
@item @var{A} @tab Shall be of type @code{INTEGER},
|
||||||
@code{REAL}, or @code{COMPLEX}.
|
@code{REAL}, or @code{COMPLEX}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -5996,7 +5978,7 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A} @tab Shall be of type @code{INTEGER},
|
@item @var{A} @tab Shall be of type @code{INTEGER},
|
||||||
@code{REAL}, or @code{COMPLEX}.
|
@code{REAL}, or @code{COMPLEX}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -6428,8 +6410,8 @@ Subroutine, function
|
||||||
@item @var{VALUE} @tab Shall be a scalar @code{INTEGER}, with
|
@item @var{VALUE} @tab Shall be a scalar @code{INTEGER}, with
|
||||||
@code{INTENT(IN)}
|
@code{INTENT(IN)}
|
||||||
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER(4)} or
|
@item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER(4)} or
|
||||||
@code{INTEGER(8)}. Returns 0 on success, or a
|
@code{INTEGER(8)}. Returns 0 on success, or a system-specific error code
|
||||||
system-specific error code otherwise.
|
otherwise.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{See also}:
|
@item @emph{See also}:
|
||||||
|
@ -6504,8 +6486,7 @@ Inquiry function
|
||||||
@item @var{ARRAY} @tab Shall be an array, of any type.
|
@item @var{ARRAY} @tab Shall be an array, of any type.
|
||||||
@item @var{DIM} @tab (Optional) Shall be a scalar @code{INTEGER}.
|
@item @var{DIM} @tab (Optional) Shall be a scalar @code{INTEGER}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -6550,8 +6531,7 @@ Inquiry function
|
||||||
@item @var{STRING} @tab Shall be a scalar or array of type
|
@item @var{STRING} @tab Shall be a scalar or array of type
|
||||||
@code{CHARACTER}, with @code{INTENT(IN)}
|
@code{CHARACTER}, with @code{INTENT(IN)}
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -6587,8 +6567,7 @@ Elemental function
|
||||||
@item @var{STRING} @tab Shall be a scalar of type @code{CHARACTER},
|
@item @var{STRING} @tab Shall be a scalar of type @code{CHARACTER},
|
||||||
with @code{INTENT(IN)}
|
with @code{INTENT(IN)}
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -7085,8 +7064,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{L} @tab The type shall be @code{LOGICAL}.
|
@item @var{L} @tab The type shall be @code{LOGICAL}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -7124,7 +7102,7 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A} @tab Shall be of type @code{INTEGER},
|
@item @var{A} @tab Shall be of type @code{INTEGER},
|
||||||
@code{REAL}, or @code{COMPLEX}.
|
@code{REAL}, or @code{COMPLEX}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -7243,17 +7221,16 @@ Subroutine
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{STIME} @tab An @code{INTEGER} scalar expression
|
@item @var{STIME} @tab An @code{INTEGER} scalar expression
|
||||||
corresponding to a system time, with
|
corresponding to a system time, with @code{INTENT(IN)}.
|
||||||
@code{INTENT(IN)}.
|
|
||||||
@item @var{TARRAY} @tab A default @code{INTEGER} array with 9 elements,
|
@item @var{TARRAY} @tab A default @code{INTEGER} array with 9 elements,
|
||||||
with @code{INTENT(OUT)}.
|
with @code{INTENT(OUT)}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
The elements of @var{TARRAY} are assigned as follows:
|
The elements of @var{TARRAY} are assigned as follows:
|
||||||
@enumerate
|
@enumerate
|
||||||
@item Seconds after the minute, range 0--59 or 0--61 to allow for leap
|
@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 Minutes after the hour, range 0--59
|
||||||
@item Hours past midnight, range 0--23
|
@item Hours past midnight, range 0--23
|
||||||
@item Day of month, range 0--31
|
@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 Number of days since Sunday, range 0--6
|
||||||
@item Days since January 1
|
@item Days since January 1
|
||||||
@item Daylight savings indicator: positive if daylight savings is in
|
@item Daylight savings indicator: positive if daylight savings is in
|
||||||
effect, zero if not, and negative if the information is not
|
effect, zero if not, and negative if the information is not available.
|
||||||
available.
|
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
@item @emph{See also}:
|
@item @emph{See also}:
|
||||||
|
@ -7361,17 +7337,13 @@ Transformational function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{MATRIX_A} @tab An array of @code{INTEGER},
|
@item @var{MATRIX_A} @tab An array of @code{INTEGER},
|
||||||
@code{REAL}, @code{COMPLEX}, or
|
@code{REAL}, @code{COMPLEX}, or @code{LOGICAL} type, with a rank of
|
||||||
@code{LOGICAL} type, with a rank of
|
one or two.
|
||||||
one or two.
|
|
||||||
@item @var{MATRIX_B} @tab An array of @code{INTEGER},
|
@item @var{MATRIX_B} @tab An array of @code{INTEGER},
|
||||||
@code{REAL}, or @code{COMPLEX} type if
|
@code{REAL}, or @code{COMPLEX} type if @var{MATRIX_A} is of a numeric
|
||||||
@var{MATRIX_A} is of a numeric type;
|
type; otherwise, an array of @code{LOGICAL} type. The rank shall be one
|
||||||
otherwise, an array of @code{LOGICAL}
|
or two, and the first (or only) dimension of @var{MATRIX_B} shall be
|
||||||
type. The rank shall be one or two, and the
|
equal to the last (or only) dimension of @var{MATRIX_A}.
|
||||||
first (or only) dimension of @var{MATRIX_B}
|
|
||||||
shall be equal to the last (or only)
|
|
||||||
dimension of @var{MATRIX_A}.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -7410,11 +7382,10 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A1} @tab The type shall be @code{INTEGER} or
|
@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
|
@item @var{A2}, @var{A3}, ... @tab An expression of the same type and kind
|
||||||
as @var{A1}. (As a GNU extension,
|
as @var{A1}. (As a GNU extension, arguments of different kinds are
|
||||||
arguments of different kinds are
|
permitted.)
|
||||||
permitted.)
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -7514,13 +7485,12 @@ Transformational function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
|
@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
|
@item @var{DIM} @tab (Optional) Shall be a scalar of type
|
||||||
@code{INTEGER}, with a value between one
|
@code{INTEGER}, with a value between one and the rank of @var{ARRAY},
|
||||||
and the rank of @var{ARRAY}, inclusive. It
|
inclusive. It may not be an optional dummy argument.
|
||||||
may not be an optional dummy argument.
|
|
||||||
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
|
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
|
||||||
and conformable with @var{ARRAY}.
|
and conformable with @var{ARRAY}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -7571,13 +7541,12 @@ Transformational function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
|
@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
|
@item @var{DIM} @tab (Optional) Shall be a scalar of type
|
||||||
@code{INTEGER}, with a value between one
|
@code{INTEGER}, with a value between one and the rank of @var{ARRAY},
|
||||||
and the rank of @var{ARRAY}, inclusive. It
|
inclusive. It may not be an optional dummy argument.
|
||||||
may not be an optional dummy argument.
|
|
||||||
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
|
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
|
||||||
and conformable with @var{ARRAY}.
|
and conformable with @var{ARRAY}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -7696,7 +7665,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{TSOURCE} @tab May be of any type.
|
@item @var{TSOURCE} @tab May be of any type.
|
||||||
@item @var{FSOURCE} @tab Shall be of the same type and type parameters
|
@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}.
|
@item @var{MASK} @tab Shall be of type @code{LOGICAL}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
|
@ -7733,11 +7702,10 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{A1} @tab The type shall be @code{INTEGER} or
|
@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
|
@item @var{A2}, @var{A3}, ... @tab An expression of the same type and kind
|
||||||
as @var{A1}. (As a GNU extension,
|
as @var{A1}. (As a GNU extension, arguments of different kinds are
|
||||||
arguments of different kinds are
|
permitted.)
|
||||||
permitted.)
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -7828,13 +7796,12 @@ Transformational function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
|
@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
|
@item @var{DIM} @tab (Optional) Shall be a scalar of type
|
||||||
@code{INTEGER}, with a value between one
|
@code{INTEGER}, with a value between one and the rank of @var{ARRAY},
|
||||||
and the rank of @var{ARRAY}, inclusive. It
|
inclusive. It may not be an optional dummy argument.
|
||||||
may not be an optional dummy argument.
|
|
||||||
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
|
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
|
||||||
and conformable with @var{ARRAY}.
|
and conformable with @var{ARRAY}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -7885,13 +7852,12 @@ Transformational function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
|
@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
|
@item @var{DIM} @tab (Optional) Shall be a scalar of type
|
||||||
@code{INTEGER}, with a value between one
|
@code{INTEGER}, with a value between one and the rank of @var{ARRAY},
|
||||||
and the rank of @var{ARRAY}, inclusive. It
|
inclusive. It may not be an optional dummy argument.
|
||||||
may not be an optional dummy argument.
|
|
||||||
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
|
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL},
|
||||||
and conformable with @var{ARRAY}.
|
and conformable with @var{ARRAY}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -8049,9 +8015,9 @@ Subroutine
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{SRC} @tab @code{ALLOCATABLE}, @code{INTENT(INOUT)}, may be
|
@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
|
@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
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -8102,7 +8068,7 @@ Elemental subroutine
|
||||||
@item @var{FROMPOS} @tab The type shall be @code{INTEGER}.
|
@item @var{FROMPOS} @tab The type shall be @code{INTEGER}.
|
||||||
@item @var{LEN} @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
|
@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}.
|
@item @var{TOPOS} @tab The type shall be @code{INTEGER}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
|
@ -8181,7 +8147,7 @@ Inquiry function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{C} @tab The argument shall be a scalar or array of the
|
@item @var{C} @tab The argument shall be a scalar or array of the
|
||||||
type @code{CHARACTER}.
|
type @code{CHARACTER}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -8222,8 +8188,7 @@ Elemental function
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{X} @tab The type of the argument shall be @code{REAL}.
|
@item @var{X} @tab The type of the argument shall be @code{REAL}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -8931,10 +8896,9 @@ Elemental function
|
||||||
@item @emph{Arguments}:
|
@item @emph{Arguments}:
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{X} @tab Shall be @code{INTEGER}, @code{REAL}, or
|
@item @var{X} @tab Shall be @code{INTEGER}, @code{REAL}, or
|
||||||
@code{COMPLEX}.
|
@code{COMPLEX}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -9257,8 +9221,7 @@ Elemental function
|
||||||
@item @var{SET} @tab Shall be of type @code{CHARACTER}.
|
@item @var{SET} @tab Shall be of type @code{CHARACTER}.
|
||||||
@item @var{BACK} @tab (Optional) shall be of type @code{LOGICAL}.
|
@item @var{BACK} @tab (Optional) shall be of type @code{LOGICAL}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@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
|
and its value shall be in the range from 1 to n, where n equals the rank
|
||||||
of @var{ARRAY}.
|
of @var{ARRAY}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -10240,7 +10202,7 @@ Subroutine, function
|
||||||
default kind and a valid path within the file system.
|
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{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
|
@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
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Example}:
|
@item @emph{Example}:
|
||||||
|
@ -10888,8 +10850,7 @@ Inquiry function
|
||||||
@item @var{ARRAY} @tab Shall be an array, of any type.
|
@item @var{ARRAY} @tab Shall be an array, of any type.
|
||||||
@item @var{DIM} @tab (Optional) Shall be a scalar @code{INTEGER}.
|
@item @var{DIM} @tab (Optional) Shall be a scalar @code{INTEGER}.
|
||||||
@item @var{KIND}@tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND}@tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
@ -10932,7 +10893,7 @@ Subroutine
|
||||||
@multitable @columnfractions .15 .70
|
@multitable @columnfractions .15 .70
|
||||||
@item @var{MASK} @tab Shall be a scalar of type @code{INTEGER}.
|
@item @var{MASK} @tab Shall be a scalar of type @code{INTEGER}.
|
||||||
@item @var{MASK} @tab (Optional) Shall be a scalar of type
|
@item @var{MASK} @tab (Optional) Shall be a scalar of type
|
||||||
@code{INTEGER}.
|
@code{INTEGER}.
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
@ -11060,8 +11021,7 @@ Elemental function
|
||||||
@item @var{SET} @tab Shall be of type @code{CHARACTER}.
|
@item @var{SET} @tab Shall be of type @code{CHARACTER}.
|
||||||
@item @var{BACK} @tab (Optional) shall be of type @code{LOGICAL}.
|
@item @var{BACK} @tab (Optional) shall be of type @code{LOGICAL}.
|
||||||
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
||||||
expression indicating the kind parameter of
|
expression indicating the kind parameter of the result.
|
||||||
the result.
|
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
|
|
|
@ -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
|
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
|
the Back-Cover Texts being (b) (see below). A copy of the license is
|
||||||
included in the gfdl(7) man page.
|
included in the gfdl(7) man page.
|
||||||
|
|
||||||
(a) The FSF's Front-Cover Text is:
|
(a) The FSF's Front-Cover Text is:
|
||||||
|
|
||||||
A GNU Manual
|
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{-I}@var{dir}@dots{}] [@option{-L}@var{dir}@dots{}]
|
||||||
[@option{-D}@var{macro}[=@var{defn}]@dots{}] [@option{-U}@var{macro}]
|
[@option{-D}@var{macro}[=@var{defn}]@dots{}] [@option{-U}@var{macro}]
|
||||||
[@option{-f}@var{option}@dots{}]
|
[@option{-f}@var{option}@dots{}]
|
||||||
[@option{-m}@var{machine-option}@dots{}]
|
[@option{-m}@var{machine-option}@dots{}]
|
||||||
[@option{-o} @var{outfile}] @var{infile}@dots{}
|
[@option{-o} @var{outfile}] @var{infile}@dots{}
|
||||||
|
|
||||||
Only the most useful options are listed here; see below for the
|
Only the most useful options are listed here; see below for the
|
||||||
|
|
|
@ -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>
|
2008-06-14 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
PR java/36247:
|
PR java/36247:
|
||||||
|
|
|
@ -104,20 +104,20 @@ files and object files, and it can read both Java source code and
|
||||||
@file{.class} files.
|
@file{.class} files.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Copying:: The GNU General Public License
|
* Copying:: The GNU General Public License
|
||||||
* GNU Free Documentation License::
|
* GNU Free Documentation License::
|
||||||
How you can share and copy this manual
|
How you can share and copy this manual
|
||||||
* Invoking gcj:: Compiler options supported by @command{gcj}
|
* Invoking gcj:: Compiler options supported by @command{gcj}
|
||||||
* Compatibility:: Compatibility between gcj and other tools for Java
|
* Compatibility:: Compatibility between gcj and other tools for Java
|
||||||
* Invoking jcf-dump:: Print information about class files
|
* 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 gcj-dbtool:: Tool for manipulating class file databases.
|
||||||
* Invoking jv-convert:: Converting from one encoding to another
|
* Invoking jv-convert:: Converting from one encoding to another
|
||||||
* Invoking grmic:: Generate stubs for Remote Method Invocation.
|
* Invoking grmic:: Generate stubs for Remote Method Invocation.
|
||||||
* Invoking gc-analyze:: Analyze Garbage Collector (GC) memory dumps.
|
* Invoking gc-analyze:: Analyze Garbage Collector (GC) memory dumps.
|
||||||
* About CNI:: Description of the Compiled Native Interface
|
* About CNI:: Description of the Compiled Native Interface
|
||||||
* System properties:: Modifying runtime behavior of the libgcj library
|
* 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.
|
* Index:: Index.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
@ -159,12 +159,12 @@ options specific to @command{gcj}.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Input and output files::
|
* Input and output files::
|
||||||
* Input Options:: How gcj finds files
|
* Input Options:: How gcj finds files
|
||||||
* Encodings:: Options controlling source file encoding
|
* Encodings:: Options controlling source file encoding
|
||||||
* Warnings:: Options controlling warnings specific to gcj
|
* Warnings:: Options controlling warnings specific to gcj
|
||||||
* Linking:: Options for making an executable
|
* Linking:: Options for making an executable
|
||||||
* Code Generation:: Options controlling the output of gcj
|
* Code Generation:: Options controlling the output of gcj
|
||||||
* Configure-time Options:: Options you won't use
|
* Configure-time Options:: Options you won't use
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@c man begin OPTIONS gcj
|
@c man begin OPTIONS gcj
|
||||||
|
@ -1176,7 +1176,7 @@ public class GCDumpTest
|
||||||
static public void main(String args[])
|
static public void main(String args[])
|
||||||
@{
|
@{
|
||||||
ArrayList<String> l = new ArrayList<String>(1000);
|
ArrayList<String> l = new ArrayList<String>(1000);
|
||||||
|
|
||||||
for (int i = 1; i < 1500; i++) @{
|
for (int i = 1; i < 1500; i++) @{
|
||||||
l.add("This is string #" + 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++.
|
* Mixing with C++:: How CNI can interoperate with C++.
|
||||||
* Exception Handling:: How exceptions are handled.
|
* Exception Handling:: How exceptions are handled.
|
||||||
* Synchronization:: Synchronizing between Java and C++.
|
* 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++.
|
* Reflection:: Using reflection from C++.
|
||||||
@end menu
|
@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
|
field being called matches the interface which declares that
|
||||||
method. The workaround is to cast the interface reference to the right
|
method. The workaround is to cast the interface reference to the right
|
||||||
superinterface.
|
superinterface.
|
||||||
|
|
||||||
For example if you have:
|
For example if you have:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
|
@ -1501,13 +1501,13 @@ interface A
|
||||||
@{
|
@{
|
||||||
void a();
|
void a();
|
||||||
@}
|
@}
|
||||||
|
|
||||||
interface B extends A
|
interface B extends A
|
||||||
@{
|
@{
|
||||||
void b();
|
void b();
|
||||||
@}
|
@}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
and declare a variable of type @code{B} in C++, you can't call
|
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.
|
@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[])
|
int main(int argc, char *argv[])
|
||||||
@{
|
@{
|
||||||
using namespace java::lang;
|
using namespace java::lang;
|
||||||
|
|
||||||
try
|
try
|
||||||
@{
|
@{
|
||||||
JvCreateJavaVM(NULL);
|
JvCreateJavaVM(NULL);
|
||||||
|
|
|
@ -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>
|
2008-06-12 Tobias Burnus <burnus@net-b.de>
|
||||||
|
|
||||||
* omp_lib.f90.in: Add "implicit none".
|
* omp_lib.f90.in: Add "implicit none".
|
||||||
|
|
|
@ -512,7 +512,7 @@ a deadlock occurs.
|
||||||
Before setting a simple lock, the lock variable must be initialized by
|
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}
|
@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
|
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.
|
@code{false} represent their language-specific counterparts.
|
||||||
|
|
||||||
@item @emph{C/C++}:
|
@item @emph{C/C++}:
|
||||||
|
|
|
@ -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>
|
2008-04-21 Aurelien Jarno <aurelien@aurel32.net>
|
||||||
|
|
||||||
* libiberty/configure.ac: use -fPIC on Linux/MIPS hosts.
|
* libiberty/configure.ac: use -fPIC on Linux/MIPS hosts.
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
@finalout
|
@finalout
|
||||||
@c %**end of header
|
@c %**end of header
|
||||||
|
|
||||||
@dircategory GNU libraries
|
@dircategory GNU libraries
|
||||||
@direntry
|
@direntry
|
||||||
* Libiberty: (libiberty). Library of utility functions which
|
* Libiberty: (libiberty). Library of utility functions which
|
||||||
|
|
|
@ -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.
|
the padding needed to start each object on a suitable boundary.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Creating Obstacks:: How to declare an obstack in your program.
|
* Creating Obstacks:: How to declare an obstack in your program.
|
||||||
* Preparing for Obstacks:: Preparations needed before you can
|
* Preparing for Obstacks:: Preparations needed before you can
|
||||||
use obstacks.
|
use obstacks.
|
||||||
* Allocation in an Obstack:: Allocating objects in an obstack.
|
* Allocation in an Obstack:: Allocating objects in an obstack.
|
||||||
* Freeing Obstack Objects:: Freeing objects in an obstack.
|
* Freeing Obstack Objects:: Freeing objects in an obstack.
|
||||||
* Obstack Functions:: The obstack functions are both
|
* Obstack Functions:: The obstack functions are both
|
||||||
functions and macros.
|
functions and macros.
|
||||||
* Growing Objects:: Making an object bigger by stages.
|
* Growing Objects:: Making an object bigger by stages.
|
||||||
* Extra Fast Growing:: Extra-high-efficiency (though more
|
* Extra Fast Growing:: Extra-high-efficiency (though more
|
||||||
complicated) growing objects.
|
complicated) growing objects.
|
||||||
* Status of an Obstack:: Inquiries about the status of an obstack.
|
* Status of an Obstack:: Inquiries about the status of an obstack.
|
||||||
* Obstacks Data Alignment:: Controlling alignment of objects in obstacks.
|
* Obstacks Data Alignment:: Controlling alignment of objects in obstacks.
|
||||||
* Obstack Chunks:: How obstacks obtain and release chunks;
|
* Obstack Chunks:: How obstacks obtain and release chunks;
|
||||||
efficiency considerations.
|
efficiency considerations.
|
||||||
* Summary of Obstacks::
|
* Summary of Obstacks::
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue