diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2004-09-13 12:18:42 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2004-09-13 12:18:42 +0200 |
commit | c885d7a17a4fa12b015adde15326b13303c348bd (patch) | |
tree | b660d80503dd74c8b52af273fa1a7b3c2af763e6 /gcc/ada/gnat_ugn.texi | |
parent | c892972fa7c999bf2cb6379d19265be42a974692 (diff) | |
download | gcc-c885d7a17a4fa12b015adde15326b13303c348bd.tar.gz |
[multiple changes]
2004-09-09 Vincent Celier <celier@gnat.com>
* a-direct.ads: Add pragma Ada_05
(Directory_Entry_Type): Give default value to component Kind to avoid
not initialized warnings.
* a-direct.adb (Current_Directory): Remove directory separator at the
end.
(Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
an existing directory.
(Fetch_Next_Entry): Give default value to variable Kind to avoid warning
(Size (String)): Function C_Size returns Long_Integer, not File_Size.
Convert the result to File_Size.
* prj.ads: (Project_Error): New exception
* prj-attr.adb: Except in procedure Initialize, Fail comes from
Prj.Com, not from Osint.
(Attrs, Package_Attributes): Tables moved to private part of spec
(Add_Attribute, Add_Unknown_Package): Moved to new child package
Prj.Attr.PM.
(Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
Prj.Project_Error after call to Fail.
(Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
Fail. Check that package name is not already in use.
* prj-attr.ads: Comment updates to indicate that all subprograms may be
used by tools, not only by the project manager, and to indicate that
exception Prj.Prj_Error may be raised in case of problem.
(Add_Unknown_Package, Add_Attribute): Moved to new child package
Prj.Attr.PM.
(Attrs, Package_Attributes): Table instantiations moved from the body to
the private part to be accessible from Prj.Attr.PM body.
* prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
from new package Prj.Attr.PM.
(Parse_Attribute_Declaration): Call Add_Attribute from new package
Prj.Attr.PM.
* Makefile.in: Add prj-attr-pm.o to gnatmake object list
* gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
instead of Elaboration_Checks).
* a-calend.adb: Minor reformatting
2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gigi.h (maybe_pad_type): New declaration.
(create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
* ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
* cuintp.c: Convert to use buildN.
* decl.c (maybe_pad_type): No longer static.
(gnat_to_gnu_entity, case E_Function): Handle case of returning by
target pointer.
Convert to use buildN.
* trans.c (call_to_gnu): Add arg GNU_TARGET; support
TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
(gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
RHS.
(gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
(gnat_gimplify_expr, case ADDR_EXPR): New case.
Convert to use buildN.
* utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
TREE_READONLY for const.
Convert to use buildN.
* utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
(create_var_decl): Refine when TREE_STATIC is set.
Convert to use buildN.
2004-09-09 Gary Dismukes <dismukes@gnat.com>
* gnat_ugn.texi: Delete text relating to checking of ali and object
consistency.
* a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
routines.
2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
* gnat_ugn.texi: Add Detect_Blocking to the list of configuration
pragmas recognized by GNAT.
* gnat_rm.texi: Document pragma Detect_Blocking.
* s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation.
* s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
the protected action nesting level.
(Lock_Read_Only): When pragma Detect_Blocking is active increase the
protected action nesting level.
(Unlock): When pragma Detect_Blocking is active decrease the protected
action nesting level.
* s-taskin.adb (Initialize_ATCB): Initialize to 0 the
Protected_Action_Nesting.
* s-taskin.ads: Adding the field Protected_Action_Nesting to the
Common_ATCB record. It contains the dynamic level of protected action
nesting for each task. It is needed for checking whether potentially
blocking operations are called from protected operations.
(Detect_Blocking): Adding a Boolean constant reflecting whether pragma
Detect_Blocking is active or not in the partition.
* s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation.
(Task_Entry_Call): When pragma Detect_Blocking is active, raise
Program_Error if called from a protected operation.
(Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
Program_Error if called from a protected operation.
* s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation.
* s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation, and increase
the protected action nesting level.
(Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
Program_Error if called from a protected operation, and increase the
protected action nesting level.
(Unlock_Entries): When pragma Detect_Blocking is active decrease the
protected action nesting level.
* s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation, and increase
the protected action nesting level.
(Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
Program_Error if called from a protected operation, and increase the
protected action nesting level.
(Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation.
(Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
active, raise Program_Error if called from a protected operation.
(Unlock_Entry): When pragma Detect_Blocking is active decrease the
protected action nesting level.
* sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
insertion of the statement raising Program_Error. The run time
contains the required machinery for handling that.
* sem_util.ads: Change comment associated to procedure
Check_Potentially_Blocking_Operation.
This procedure does not insert a call for raising the exception because
that is currently done by the run time.
* raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
* init.c: Add the global variable __gl_detect_blocking that indicates
whether pragma Detect_Blocking is active (1) or not (0). Needed for
making the pragma available at run time.
(__gnat_set_globals): Pass and update the detect_blocking parameter.
* lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
pragma Detect_Blocking is active.
* lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
* ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
DB is found in the ali file. Any unit compiled with pragma
Detect_Blocking active forces its effect in the whole partition.
* a-retide.adb (Delay_Until): Raise Program_Error if pragma
Detect_Blocking is active and delay is called from a protected
operation.
* bindgen.adb (Gen_Adainit_Ada): When generating the call to
__gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
Detect_Blocking is active (0 otherwise).
(Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
as Detect_Blocking parameter if pragma Detect_Blocking is active (0
otherwise).
2004-09-09 Thomas Quinot <quinot@act-europe.fr>
* gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
package.
* s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
(Register_Receiving_Stub): Add Subp_Info formal parameter.
Update API in placeholder implemetation of s-parint to reflect changes
in distribution runtime library.
* sem_ch3.adb (Expand_Derived_Record): Rename to
Expand_Record_Extension.
* sem_disp.adb (Check_Controlling_Formals): Improve error message for
primitive operations of potentially distributed object types that have
non-controlling anonymous access formals.
* sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
subprogram.
New implementation of expansion for remote access-to-subprogram types,
based on the RACW infrastructure.
This version of sem_dist is compatible with PolyORB/DSA as well as
GLADE.
* sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
Asynchrronous that applies to a remote access-to-subprogram type, mark
the underlying RACW type as asynchronous.
* link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
__gnat_using_gnu_linker to 1.
* Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
GNAT.Perfect_Hash_Generators, and remove the empty
GNAT.Perfect_Hash package.
* atree.adb: Minor reformatting
* exp_ch3.adb (Expand_Derived_Record): Rename to
Expand_Record_Extension.
(Build_Record_Init_Proc.Build_Assignment): The default expression in
a component declaration must remain attached at that point in the
tree so New_Copy_Tree copies it if the enclosing record type is derived.
It is therefore necessary to take a copy of the expression when building
the corresponding assignment statement in the init proc.
As a side effect, in the case of a derived record type, we now see the
original expression, without any rewriting that could have occurred
during expansion of the ancestor type's init proc, and we do not need
to go back to Original_Node.
* exp_ch3.ads (Expand_Derived_Record): Rename to
Expand_Record_Extension.
* exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
Returns the RACW type used to implement a remote access-to-subprogram
type.
(Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
New subprograms. Used to create a proxy tagged object for a remote
subprogram. The proxy object is used as the designated object
for RAS values on the same partition (unless All_Calls_Remote applies).
(Build_Get_Unique_RP_Call): New subprogram. Build a call to
System.Partition_Interface.Get_Unique_Remote_Pointer.
(Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
Renamed from Add_RAS_*_Attribute.
(Add_Receiving_Stubs_To_Declarations): Generate a table of local
subprograms.
New implementation of expansion for remote access-to-subprogram types,
based on the RACW infrastructure.
* exp_dist.ads (Copy_Specification): Update comment to note that this
function can copy the specification from either a subprogram
specification or an access-to-subprogram type definition.
2004-09-09 Ed Schonberg <schonberg@gnat.com>
* sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
in an instance, between an explicit subprogram an one inherited from a
type derived from an actual.
* exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
add a polling call if the subprogram is to be inlined by the back-end,
to avoid repeated calls with multiple inlinings.
* checks.adb (Apply_Alignment_Check): If the expression in the address
clause is a call whose name is not a static entity (e.g. a dispatching
call), treat as dynamic.
2004-09-09 Robert Dewar <dewar@gnat.com>
* g-trasym.ads: Minor reformatting
* exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
packed arrays, since unused bits are expected to be zero for a
comparison.
2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
* exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
comment.
2004-09-09 Pascal Obry <obry@gnat.com>
* mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
enable map file generation. Add the right option to generate the map
file if Map_File is set to True.
* gnatdll.adb (Gen_Map_File): New variable.
(Syntax): Add info about new -m (Map_File) option.
(Parse_Command_Line): Add support for -m option.
(gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
Minor reformatting.
2004-09-09 Laurent Pautet <pautet@act-europe.fr>
* gnatls.adb: Add a very verbose mode -V. Such mode is required by the
new gnatdist implementation.
Define a subpackage isolating the output routines specific to this
verbose mode.
2004-09-09 Joel Brobecker <brobecker@gnat.com>
* Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
* gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
2004-09-09 Cyrille Comar <comar@act-europe.fr>
* opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
internal unit.
* opt.ads: Add Ada_Version_Runtime constant used to decide which
version of the language is used to compile the run time.
2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
* sem_util.adb (Requires_Transient_Scope): Re-enable handling
of variable length temporaries for function return now that the
back-end and gigi support it.
From-SVN: r87435
Diffstat (limited to 'gcc/ada/gnat_ugn.texi')
-rw-r--r-- | gcc/ada/gnat_ugn.texi | 119 |
1 files changed, 3 insertions, 116 deletions
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index b9617b4a1f6..c8da0d86467 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -98,8 +98,6 @@ @set FILE gnat_ugn_vms @end ifset - - @settitle @value{EDITION} User's Guide for Native Platforms / @value{PLATFORM} @dircategory GNU Ada tools @direntry @@ -149,7 +147,6 @@ A copy of the license is included in the section entitled @end titlepage - @ifnottex @node Top, About This Guide, (dir), (dir) @top @value{EDITION} User's Guide @@ -321,7 +318,6 @@ The GNAT Make Program gnatmake * How gnatmake Works:: * Examples of gnatmake Usage:: - Improving Performance * Performance Considerations:: * Reducing the Size of Ada Executables with gnatelim:: @@ -384,7 +380,6 @@ GNAT Project Manager * An Extended Example:: * Project File Complete Syntax:: - The Cross-Referencing Tools gnatxref and gnatfind * gnatxref Switches:: @@ -394,13 +389,11 @@ The Cross-Referencing Tools gnatxref and gnatfind * Examples of gnatxref Usage:: * Examples of gnatfind Usage:: - The GNAT Pretty-Printer gnatpp * Switches for gnatpp:: * Formatting Rules:: - File Name Krunching Using gnatkr * About gnatkr:: @@ -622,7 +615,6 @@ Microsoft Windows Topics * GNAT and COM/DCOM Objects:: @end ifset - * Index:: @end menu @end ifnottex @@ -649,8 +641,6 @@ For ease of exposition, ``GNAT Pro'' will be referred to simply as ``GNAT'' in the remainder of this document. @end ifset - - @menu * What This Guide Contains:: * What You Should Know before Reading This Guide:: @@ -729,7 +719,6 @@ way to navigate through sources. version of an Ada source file with control over casing, indentation, comment placement, and other elements of program presentation style. - @item @ref{File Name Krunching Using gnatkr}, describes the @code{gnatkr} file name krunching utility, used to handle shortened @@ -826,7 +815,6 @@ Microsoft Windows platform. @end ifset @end itemize - @c ************************************************* @node What You Should Know before Reading This Guide @c ************************************************* @@ -933,8 +921,6 @@ If you are using GNAT on a Windows platform, please note that the ``@code{\}'' character should be used instead. @end ifset - - @c **************************** @node Getting Started with GNAT @chapter Getting Started with GNAT @@ -991,7 +977,6 @@ All three steps are most commonly handled by using the @code{gnatmake} utility program that, given the name of the main program, automatically performs the necessary compilation, binding and linking steps. - @node Running a Simple Ada Program @section Running a Simple Ada Program @@ -1114,7 +1099,6 @@ Hello WORLD! @noindent appear in response to this command. - @c **************************************** @node Running a Program with Multiple Units @section Running a Program with Multiple Units @@ -1322,7 +1306,6 @@ startup menu). * Simple Debugging with GPS:: @end menu - @node Building a New Program with GPS @subsection Building a New Program with GPS @noindent @@ -1429,7 +1412,6 @@ Select @code{File}, then @code{Save As}, and enter the source file name The file will be saved in the same directory you specified as the location of the default project file. - @item @emph{Updating the project file} You need to add the new source file to the project. @@ -1463,8 +1445,6 @@ Close the GPS window (or select @code{File}, then @code{Exit}) to terminate this GPS session. @end enumerate - - @node Simple Debugging with GPS @subsection Simple Debugging with GPS @noindent @@ -1572,7 +1552,6 @@ Right click on @code{N}, select @code{Debug}, then select @code{Display N}. You will see information about @code{N} appear in the @code{Debugger Data} pane, showing the value as 5. - @item @emph{Assigning a new value to a variable} Right click on the @code{N} in the @code{Debugger Data} pane, and @@ -1608,7 +1587,6 @@ The console window will disappear. @end enumerate @end enumerate - @node Introduction to Glide and GVD @section Introduction to Glide and GVD @cindex Glide @@ -3483,7 +3461,6 @@ directory designated by the logical name @code{SYS$SCRATCH:} GNAT uses the current directory for temporary files. @end ifset - @c ************************* @node Compiling Using gcc @chapter Compiling Using @code{gcc} @@ -4122,7 +4099,6 @@ is equivalent to specifying the following sequence of switches: @end smallexample @end ifclear - @c NEED TO CHECK THIS FOR VMS @noindent @@ -4166,7 +4142,6 @@ as validity checking options (see description of @option{-gnatV}). @end ifclear @end itemize - @node Output and Error Message Control @subsection Output and Error Message Control @findex stderr @@ -4330,7 +4305,6 @@ List possible interpretations for ambiguous calls Additional details on incorrect parameters @end itemize - @item -gnatq @cindex @option{-gnatq} (@code{gcc}) @ifclear vms @@ -4374,7 +4348,6 @@ since ALI files are never generated if @option{-gnats} is set. @end table - @node Warning Message Control @subsection Warning Message Control @cindex Warning messages @@ -4467,7 +4440,6 @@ Mismatching bounds in an aggregate @item Attempt to return local value by reference - @item Premature instantiation of a generic body @@ -4528,7 +4500,6 @@ Useless exception handlers @item Accidental hiding of name by child unit - @item Access before elaboration detected at compile time @@ -4969,7 +4940,6 @@ When no switch @option{^-gnatw^/WARNINGS^} is used, this is equivalent to: @end table - @node Debugging and Assertion Control @subsection Debugging and Assertion Control @@ -5063,7 +5033,6 @@ indicate validity checks that are performed or not performed in addition to the default checks described above. @end ifset - @table @option @c !sort! @item -gnatVa @@ -5227,7 +5196,6 @@ See also the pragma @code{Validity_Checks} which allows modification of the validity checking mode at the program source level, and also allows for temporary disabling of validity checks. - @node Style Checking @subsection Style Checking @findex Style checking @@ -5781,7 +5749,6 @@ increase the amount of stack for the environment task, then this is an operating systems issue, and must be addressed with the appropriate operating systems commands. - @node Using gcc for Syntax Checking @subsection Using @code{gcc} for Syntax Checking @table @option @@ -5837,7 +5804,6 @@ together. This is primarily used by the @code{gnatchop} utility (@pxref{Renaming Files Using gnatchop}). @end table - @node Using gcc for Semantic Checking @subsection Using @code{gcc} for Semantic Checking @table @option @@ -6025,7 +5991,6 @@ to enable file name krunching. For the source file naming rules, @xref{File Naming Rules}. @end table - @node Subprogram Inlining Control @subsection Subprogram Inlining Control @@ -6415,7 +6380,6 @@ and communicates it to the compiler using this switch. @end table - @node Integrated Preprocessing @subsection Integrated Preprocessing @@ -6603,7 +6567,6 @@ are suitable for spawning with appropriate GNAT RTL routines. @end ifset - @node Search Paths and the Run-Time Library (RTL) @section Search Paths and the Run-Time Library (RTL) @@ -6717,7 +6680,6 @@ Besides simplifying access to the RTL, a major use of search paths is in compiling sources from multiple directories. This can make development environments much more flexible. - @node Order of Compilation Issues @section Order of Compilation Issues @@ -6827,7 +6789,6 @@ This information is output in the forms of comments in the generated program, to be read by the @code{gnatlink} utility used to link the Ada application. @end enumerate - @node Running gnatbind @section Running @code{gnatbind} @@ -6919,7 +6880,6 @@ The use of the @option{^-C^/BIND_FILE=C^} switch for both @code{gnatbind} and @code{gnatlink} will cause the program to be generated in C (and compiled using the gnu C compiler). - @node Switches for gnatbind @section Switches for @command{gnatbind} @@ -7173,7 +7133,6 @@ You may obtain this listing of switches by running @code{gnatbind} with no arguments. @end ifclear - @node Consistency-Checking Modes @subsection Consistency-Checking Modes @@ -7496,7 +7455,6 @@ a list of ALI files can be given, and the execution of the program consists of elaboration of these units in an appropriate order. @end table - @node Command-Line Access @section Command-Line Access @@ -7527,7 +7485,6 @@ required, your main program must set @code{gnat_argc} and @code{gnat_argv} from the @code{argc} and @code{argv} values passed to it. - @node Search Paths for gnatbind @section Search Paths for @code{gnatbind} @@ -7696,7 +7653,6 @@ the @code{adainit} and @code{adafinal} routines to be called before and after accessing the Ada units. @end table - @c ------------------------------------ @node Linking Using gnatlink @chapter Linking Using @code{gnatlink} @@ -8583,13 +8539,6 @@ if you want to specify library paths only. @item -@code{gnatmake} examines both an ALI file and its corresponding object file -for consistency. If an ALI is more recent than its corresponding object, -or if the object file is missing, the corresponding source will be recompiled. -Note that @code{gnatmake} expects an ALI and the corresponding object file -to be in the same directory. - -@item @code{gnatmake} will ignore any files whose ALI file is write-protected. This may conveniently be used to exclude standard libraries from consideration and in particular it means that the use of the @@ -8642,8 +8591,7 @@ approach and in particular to understand how it uses the results of previous compilations without incorrectly depending on them. First a definition: an object file is considered @dfn{up to date} if the -corresponding ALI file exists and its time stamp predates that of the -object file and if all the source files listed in the +corresponding ALI file exists and if all the source files listed in the dependency section of this ALI file have time stamps matching those in the ALI file. This means that neither the source file itself nor any files that it depends on have been modified, and hence there is no need @@ -8710,7 +8658,6 @@ listed by the binder. @code{gnatmake} will operate in quiet mode, not displaying commands it is executing. @end table - @c ************************* @node Improving Performance @chapter Improving Performance @@ -8730,7 +8677,6 @@ the size of program executables. @end menu @end ifnottex - @c ***************************** @node Performance Considerations @section Performance Considerations @@ -8935,7 +8881,6 @@ is generally discouraged with GNAT, since it often results in larger executables which run more slowly. See further discussion of this point in @pxref{Inlining of Subprograms}. - @node Debugging Optimized Code @subsection Debugging Optimized Code @cindex Debugging optimized code @@ -9064,7 +9009,6 @@ on the resulting executable, which removes both debugging information and global symbols. @end ifclear - @node Inlining of Subprograms @subsection Inlining of Subprograms @@ -9574,7 +9518,6 @@ the @file{gnat.adc} file. You should recompile your program from scratch after that, because you need a consistent @file{gnat.adc} file during the entire compilation. - @node Making Your Executables Smaller @subsection Making Your Executables Smaller @@ -9635,9 +9578,6 @@ $ gnatmake ^-f main_prog^/FORCE_COMPILE MAIN_PROG^ @end enumerate - - - @c ******************************** @node Renaming Files Using gnatchop @chapter Renaming Files Using @code{gnatchop} @@ -9682,7 +9622,6 @@ system, you can set up a procedure where you use @command{gnatchop} each time you compile, regarding the source files that it writes as temporary files that you throw away. - @node Operating gnatchop in Compilation Mode @section Operating gnatchop in Compilation Mode @@ -9997,6 +9936,7 @@ recognized by @code{GNAT}: Ada_95 C_Pass_By_Copy Component_Alignment + Detect_Blocking Discard_Names Elaboration_Checks Eliminate @@ -10333,7 +10273,6 @@ even in conjunction with one or several switches @option{^-D^/DIRS_FILE^}. Several Naming Patterns and one excluded pattern are used in this example. - @c ***************************************** @c * G N A T P r o j e c t M a n a g e r * @c ***************************************** @@ -10744,7 +10683,7 @@ invoking @command{gnatmake} (see @ref{gnatmake and Project Files}). @noindent By default, the executable file name corresponding to a main source is -deducted from the main source file name. Through the attributes +deduced from the main source file name. Through the attributes @code{Executable} and @code{Executable_Suffix} of package @code{Builder}, it is possible to change this default. In project @code{Debug} above, the executable file name @@ -12542,7 +12481,6 @@ All @file{ALI} files will also be copied from the object directory to the library directory. To build executables, @command{gnatmake} will use the library rather than the individual object files. - @c ********************************************** @c * Using Third-Party Libraries through Projects @c ********************************************** @@ -13730,7 +13668,6 @@ simple_name ::= @end smallexample - @node The Cross-Referencing Tools gnatxref and gnatfind @chapter The Cross-Referencing Tools @code{gnatxref} and @code{gnatfind} @findex gnatxref @@ -14426,7 +14363,6 @@ point to any character in the middle of the identifier. @end table - @c ********************************* @node The GNAT Pretty-Printer gnatpp @chapter The GNAT Pretty-Printer @command{gnatpp} @@ -14478,7 +14414,6 @@ allowed. The file name may contain path information; it does not have to follow the GNAT file naming rules @end itemize - @menu * Switches for gnatpp:: * Formatting Rules:: @@ -14540,7 +14475,6 @@ indicate the effect. * Other gnatpp Switches:: @end menu - @node Alignment Control @subsection Alignment Control @cindex Alignment control in @command{gnatpp} @@ -14581,7 +14515,6 @@ Align @code{=>} in associations The @option{^-A^/ALIGN^} switches are mutually compatible; any combination is allowed. - @node Casing Control @subsection Casing Control @cindex Casing control in @command{gnatpp} @@ -14676,7 +14609,6 @@ The @option{^-D-^/SPECIFIC_CASING^} and @option{^-D@var{file}^/DICTIONARY=@var{file}^} switches are mutually compatible. - @node Construct Layout Control @subsection Construct Layout Control @cindex Layout control in @command{gnatpp} @@ -14771,7 +14703,6 @@ indentation is set to 1 (in which case the default value for continuation line indentation is also 1) @end table - @node Other Formatting Options @subsection Other Formatting Options @@ -14831,7 +14762,6 @@ The same as the corresponding gcc switch @end table - @node Output File Control @subsection Output File Control @@ -14913,7 +14843,6 @@ Warning mode; a required layout in the result source. @end table - @node Formatting Rules @section Formatting Rules @@ -14929,7 +14858,6 @@ They provide the detailed descriptions of the switches shown above. * Name Casing:: @end menu - @node White Space and Empty Lines @subsection White Space and Empty Lines @@ -14963,7 +14891,6 @@ In order to preserve a visual separation between comment blocks, use an Likewise, if for some reason you wish to have a sequence of empty lines, use a sequence of empty comments instead. - @node Formatting Comments @subsection Formatting Comments @@ -15107,7 +15034,6 @@ comments may be reformatted in typical word processor style (that is, moving words between lines and putting as many words in a line as possible). - @node Construct Layout @subsection Construct Layout @@ -15185,7 +15111,6 @@ type q is record type q is end record; b : integer; end record; - Block : declare Block : A : Integer := 3; declare begin A : Integer := 3; @@ -15206,7 +15131,6 @@ A further difference between GNAT style layout and compact layout is that GNAT style layout inserts empty lines as separation for compound statements, return statements and bodies. - @node Name Casing @subsection Name Casing @@ -15399,8 +15323,6 @@ end Test; @end cartouche @end smallexample - - @c *********************************** @node File Name Krunching Using gnatkr @chapter File Name Krunching Using @code{gnatkr} @@ -16578,7 +16500,6 @@ library, by reordering the lines in the configuration files. In general, a library must be installed before the GNAT library if it redefines any part of it. - @node Using the library @subsection Using the library @@ -16646,7 +16567,6 @@ pragma Linker_Options ("-lmy_lib"); @end smallexample @end itemize - @node Stand-alone Ada Libraries @section Stand-alone Ada Libraries @cindex Stand-alone library, building, using @@ -16926,7 +16846,6 @@ gnat library. This Makefile contains its own documentation and in particular the set of instructions needed to rebuild a new library and to use it. - @node Using the GNU make Utility @chapter Using the GNU @code{make} Utility @findex make @@ -17218,7 +17137,6 @@ all: @end smallexample @end ifclear - @node Finding Memory Problems @chapter Finding Memory Problems @@ -17238,7 +17156,6 @@ access values (including ``dangling references''). * The GNAT Debug Pool Facility:: @end menu - @ifclear vms @node The gnatmem Tool @section The @command{gnatmem} Tool @@ -17581,7 +17498,6 @@ and #3 thanks to the more precise associated backtrace. @end ifclear - @node The GNAT Debug Pool Facility @section The GNAT Debug Pool Facility @findex Debug Pool @@ -17726,7 +17642,6 @@ Debug Pool info: High Water Mark: 8 @end smallexample - @node Creating Sample Bodies Using gnatstub @chapter Creating Sample Bodies Using @command{gnatstub} @findex gnatstub @@ -17903,7 +17818,6 @@ Verbose mode: generate version information. @end table - @node Other Utility Programs @chapter Other Utility Programs @@ -18098,7 +18012,6 @@ For more information, please refer to the online documentation available in the @code{Glide} @result{} @code{Help} menu. @end ifclear - @node Converting Ada Files to html with gnathtml @section Converting Ada Files to HTML with @code{gnathtml} @@ -18389,7 +18302,6 @@ The simplest command is simply @code{run}, which causes the program to run exactly as if the debugger were not present. The following section describes some of the additional commands that can be given to @code{GDB}. - @c ******************************* @node Introduction to GDB Commands @section Introduction to GDB Commands @@ -19189,7 +19101,6 @@ You can then get further information by invoking the @code{addr2line} tool as described earlier (note that the hexadecimal addresses need to be specified in C format, with a leading ``0x''). - @node Symbolic Traceback @subsection Symbolic Traceback @cindex traceback, symbolic @@ -20893,7 +20804,6 @@ and GNAT systems. @end ifset - @c ************************************** @node Platform-Specific Information for the Run-Time Libraries @appendix Platform-Specific Information for the Run-Time Libraries @@ -20957,11 +20867,9 @@ information about several specific platforms. * AIX-Specific Considerations:: @end menu - @node Summary of Run-Time Configurations @section Summary of Run-Time Configurations - @multitable @columnfractions .30 .70 @item @b{alpha-openvms} @item @code{@ @ }@i{rts-native (default)} @@ -21021,8 +20929,6 @@ information about several specific platforms. @* @end multitable - - @node Specifying a Run-Time Library @section Specifying a Run-Time Library @@ -21196,7 +21102,6 @@ you find that the improved efficiency of FSU threads is significant to you. Note also that to take full advantage of Florist and Glade, it is highly recommended that you use native threads. - @node Choosing the Scheduling Policy @section Choosing the Scheduling Policy @@ -21235,8 +21140,6 @@ you should use @code{pragma Time_Slice} with a value greater than @code{0.0}, or else use the corresponding @option{-T} binder option. - - @node Solaris-Specific Considerations @section Solaris-Specific Considerations @cindex Solaris Sparc threads libraries @@ -21251,7 +21154,6 @@ debugging 64-bit applications. * Building and Debugging 64-bit Applications:: @end menu - @node Solaris Threads Issues @subsection Solaris Threads Issues @@ -21305,7 +21207,6 @@ Run the program on the specified processor. (where @code{_SC_NPROCESSORS_CONF} is a system variable). @end table - @node Building and Debugging 64-bit Applications @subsection Building and Debugging 64-bit Applications @@ -21329,8 +21230,6 @@ amounts to: $ gdb64 hello @end smallexample - - @node IRIX-Specific Considerations @section IRIX-Specific Considerations @cindex IRIX thread library @@ -21351,7 +21250,6 @@ See the @cite{GNAT Reference Manual} for further information. The @emph{n32 ABI} compiler comes with a run-time library based on the kernel POSIX threads and thus does not have the limitations mentioned above. - @node Linux-Specific Considerations @section Linux-Specific Considerations @cindex Linux threads libraries @@ -21395,7 +21293,6 @@ This Appendix displays the source code for @command{gnatbind}'s output file generated for a simple ``Hello World'' program. Comments have been added for clarification purposes. - @smallexample @c adanocomment @iftex @leftskip=0cm @@ -22111,7 +22008,6 @@ and trace the elaboration routine for this package to find out where the problem might be (more usually of course you would be debugging elaboration code in your own application). - @node Elaboration Order Handling in GNAT @appendix Elaboration Order Handling in GNAT @cindex Order of elaboration @@ -23967,7 +23863,6 @@ difference, by looking at the two elaboration orders that are chosen, and figuring out which is correct, and then adding the necessary @code{Elaborate_All} pragmas to ensure the desired order. - @node Inline Assembler @appendix Inline Assembler @@ -25578,8 +25473,6 @@ end Intel_CPU; @c END OF INLINE ASSEMBLER CHAPTER @c =============================== - - @c *********************************** @c * Compatibility and Porting Guide * @c *********************************** @@ -25784,7 +25677,6 @@ include @code{pragma Interface} and the floating point type attributes (@code{Emax}, @code{Mantissa}, etc.), among other items. @end table - @node Implementation-dependent characteristics @section Implementation-dependent characteristics @noindent @@ -25805,7 +25697,6 @@ transition from certain Ada 83 compilers. * Target-specific aspects:: @end menu - @node Implementation-defined pragmas @subsection Implementation-defined pragmas @@ -25903,7 +25794,6 @@ incompatible with typical Ada 83 compiler practices regarding implicit packing, the meaning of the Size attribute, and the size of access values. GNAT's approach to these issues is described in @ref{Representation Clauses}. - @node Compatibility with Other Ada 95 Systems @section Compatibility with Other Ada 95 Systems @@ -26104,8 +25994,6 @@ attributes are recognized, although only a subset of them can sensibly be implemented. The description of pragmas in this reference manual indicates whether or not they are applicable to non-VMS systems. - - @ifset unw @node Microsoft Windows Topics @appendix Microsoft Windows Topics @@ -27878,7 +27766,6 @@ This section is temporarily left blank. @end ifset - @c ********************************** @c * GNU Free Documentation License * @c ********************************** |