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