summaryrefslogtreecommitdiff
path: root/gcc/ada/gnat_ugn.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/gnat_ugn.texi')
-rw-r--r--gcc/ada/gnat_ugn.texi183
1 files changed, 58 insertions, 125 deletions
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index d84bc04d99b..9be0dbff2f2 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -169,9 +169,9 @@ AdaCore@*
* About This Guide::
* Getting Started with GNAT::
* The GNAT Compilation Model::
-* Compiling Using gcc::
-* Binding Using gnatbind::
-* Linking Using gnatlink::
+* Compiling With gcc::
+* Binding With gnatbind::
+* Linking With gnatlink::
* The GNAT Make Program gnatmake::
* Improving Performance::
* Renaming Files Using gnatchop::
@@ -198,10 +198,10 @@ AdaCore@*
* Performing Dimensionality Analysis in GNAT::
* Generating Ada Bindings for C and C++ headers::
* Other Utility Programs::
-* Running and Debugging Ada Programs::
@ifclear vms
* Code Coverage and Profiling::
@end ifclear
+* Running and Debugging Ada Programs::
@ifset vms
* Compatibility with HP Ada::
@end ifset
@@ -217,17 +217,15 @@ AdaCore@*
* GNU Free Documentation License::
* Index::
- --- The Detailed Node Listing ---
+ --- Detailed Contents ---
About This Guide
-
* What This Guide Contains::
* What You Should Know before Reading This Guide::
* Related Information::
* Conventions::
Getting Started with GNAT
-
* Running GNAT::
* Running a Simple Ada Program::
* Running a Program with Multiple Units::
@@ -240,7 +238,6 @@ Getting Started with GNAT
@end ifclear
The GNAT Compilation Model
-
* Source Representation::
* Foreign Language Representation::
* File Naming Rules::
@@ -260,67 +257,25 @@ The GNAT Compilation Model
* Placement of temporary files::
@end ifset
-Foreign Language Representation
-
-* Latin-1::
-* Other 8-Bit Codes::
-* Wide Character Encodings::
-
-Compiling Ada Programs With gcc
-
+Compiling With gcc
* Compiling Programs::
* Switches for gcc::
* Search Paths and the Run-Time Library (RTL)::
* Order of Compilation Issues::
* Examples::
-Switches for gcc
-
-* Output and Error Message Control::
-* Warning Message Control::
-* Debugging and Assertion Control::
-* Validity Checking::
-* Style Checking::
-* Run-Time Checks::
-* Using gcc for Syntax Checking::
-* Using gcc for Semantic Checking::
-* Compiling Different Versions of Ada::
-* Character Set Control::
-* File Naming Control::
-* Subprogram Inlining Control::
-* Auxiliary Output Control::
-* Debugging Control::
-* Exception Handling Control::
-* Units to Sources Mapping Files::
-* Integrated Preprocessing::
-@ifset vms
-* Return Codes::
-@end ifset
-
-Binding Ada Programs With gnatbind
-
+Binding With gnatbind
* Running gnatbind::
* Switches for gnatbind::
* Command-Line Access::
* Search Paths for gnatbind::
* Examples of gnatbind Usage::
-Switches for gnatbind
-
-* Consistency-Checking Modes::
-* Binder Error Message Control::
-* Elaboration Control::
-* Output Control::
-* Binding with Non-Ada Main Programs::
-* Binding Programs with No Main Subprogram::
-
-Linking Using gnatlink
-
+Linking With gnatlink
* Running gnatlink::
* Switches for gnatlink::
The GNAT Make Program gnatmake
-
* Running gnatmake::
* Switches for gnatmake::
* Mode Switches for gnatmake::
@@ -334,33 +289,7 @@ Improving Performance
* Reducing Size of Ada Executables with gnatelim::
* Reducing Size of Executables with unused subprogram/data elimination::
-Performance Considerations
-* Controlling Run-Time Checks::
-* Use of Restrictions::
-* Optimization Levels::
-* Debugging Optimized Code::
-* Inlining of Subprograms::
-* Vectorization of loops::
-* Other Optimization Switches::
-* Optimization and Strict Aliasing::
-@ifset vms
-* Coverage Analysis::
-@end ifset
-
-Reducing Size of Ada Executables with gnatelim
-* About gnatelim::
-* Running gnatelim::
-* Processing Precompiled Libraries::
-* Correcting the List of Eliminate Pragmas::
-* Making Your Executables Smaller::
-* Summary of the gnatelim Usage Cycle::
-
-Reducing Size of Executables with unused subprogram/data elimination
-* About unused subprogram/data elimination::
-* Compilation options::
-
Renaming Files Using gnatchop
-
* Handling Files with Multiple Units::
* Operating gnatchop in Compilation Mode::
* Command Line for gnatchop::
@@ -368,19 +297,34 @@ Renaming Files Using gnatchop
* Examples of gnatchop Usage::
Configuration Pragmas
-
* Handling of Configuration Pragmas::
* The Configuration Pragmas Files::
Handling Arbitrary File Naming Conventions Using gnatname
-
* Arbitrary File Naming Conventions::
* Running gnatname::
* Switches for gnatname::
* Examples of gnatname Usage::
-The Cross-Referencing Tools gnatxref and gnatfind
+GNAT Project Manager
+* Introduction::
+* Building With Projects::
+* Organizing Projects into Subsystems::
+* Scenarios in Projects::
+* Library Projects::
+* Project Extension::
+* Aggregate Projects::
+* Aggregate Library Projects::
+* Project File Reference::
+
+Tools Supporting Project Files
+* Switches Related to Project Files::
+* Switches and Project Files::
+* Specifying Configuration Pragmas::
+* Project Files and Main Subprograms::
+* Library Project Files::
+The Cross-Referencing Tools gnatxref and gnatfind
* Switches for gnatxref::
* Switches for gnatfind::
* Project Files for gnatxref and gnatfind::
@@ -389,16 +333,13 @@ The Cross-Referencing Tools gnatxref and gnatfind
* Examples of gnatfind Usage::
The GNAT Pretty-Printer gnatpp
-
* Switches for gnatpp::
* Formatting Rules::
The GNAT Metrics Tool gnatmetric
-
* Switches for gnatmetric::
File Name Krunching Using gnatkr
-
* About gnatkr::
* Using gnatkr::
* Krunching Method::
@@ -412,28 +353,23 @@ Preprocessing Using gnatprep
* Form of Input Text for gnatprep::
The GNAT Library Browser gnatls
-
* Running gnatls::
* Switches for gnatls::
* Examples of gnatls Usage::
Cleaning Up Using gnatclean
-
* Running gnatclean::
* Switches for gnatclean::
@c * Examples of gnatclean Usage::
@ifclear vms
-
GNAT and Libraries
-
* Introduction to Libraries in GNAT::
* General Ada Libraries::
* Stand-alone Ada Libraries::
* Rebuilding the GNAT Run-Time Library::
Using the GNU make Utility
-
* Using gnatmake in a Makefile::
* Automatically Creating a List of Directories::
* Generating the Command Line Switches::
@@ -441,7 +377,6 @@ Using the GNU make Utility
@end ifclear
Memory Management Issues
-
* Some Useful Memory Pools::
* The GNAT Debug Pool Facility::
@ifclear vms
@@ -449,20 +384,17 @@ Memory Management Issues
@end ifclear
Stack Related Facilities
-
* Stack Overflow Checking::
* Static Stack Usage Analysis::
* Dynamic Stack Usage Analysis::
Verifying Properties Using gnatcheck
-Sample Bodies Using gnatstub
-
+Creating Sample Bodies Using gnatstub
* Running gnatstub::
* Switches for gnatstub::
Creating Unit Tests Using gnattest
-
* Running gnattest::
* Switches for gnattest::
* Project Attributes for gnattest::
@@ -480,21 +412,30 @@ Creating Unit Tests Using gnattest
@end ifclear
* Current Limitations::
-Other Utility Programs
+Performing Dimensionality Analysis in GNAT
+
+Generating Ada Bindings for C and C++ headers
+* Running the binding generator::
+* Generating bindings for C++ headers::
+* Switches::
+Other Utility Programs
* Using Other Utility Programs with GNAT::
* The External Symbol Naming Scheme of GNAT::
* Converting Ada Files to html with gnathtml::
+* Installing gnathtml::
+@ifset vms
+* LSE::
+* Profiling::
+@end ifset
@ifclear vms
Code Coverage and Profiling
-
* Code Coverage of Ada Programs using gcov::
* Profiling an Ada Program using gprof::
@end ifclear
Running and Debugging Ada Programs
-
* The GNAT Debugger GDB::
* Running GDB::
* Introduction to GDB Commands::
@@ -511,12 +452,7 @@ Running and Debugging Ada Programs
* Stack Traceback::
@ifset vms
-* LSE::
-@end ifset
-
-@ifset vms
Compatibility with HP Ada
-
* Ada Language Compatibility::
* Differences in the Definition of Package System::
* Language-Related Features::
@@ -535,7 +471,6 @@ Compatibility with HP Ada
* Tools and Utilities::
Language-Related Features
-
* Integer Types and Representations::
* Floating-Point Types and Representations::
* Pragmas Float_Representation and Long_Float::
@@ -545,7 +480,6 @@ Language-Related Features
* Other Representation Clauses::
Tasking and Task-Related Features
-
* Implementation of Tasks in HP Ada for OpenVMS Alpha Systems::
* Assigning Task IDs::
* Task IDs and Delays::
@@ -555,23 +489,19 @@ Tasking and Task-Related Features
* External Interrupts::
Pragmas and Pragma-Related Features
-
* Restrictions on the Pragma INLINE::
* Restrictions on the Pragma INTERFACE::
* Restrictions on the Pragma SYSTEM_NAME::
Library of Predefined Units
-
* Changes to DECLIB::
Bindings
-
* Shared Libraries and Options Files::
* Interfaces to C::
@end ifset
Platform-Specific Information for the Run-Time Libraries
-
* Summary of Run-Time Configurations::
* Specifying a Run-Time Library::
* Choosing the Scheduling Policy::
@@ -584,7 +514,6 @@ Platform-Specific Information for the Run-Time Libraries
Example of Binder Output File
Elaboration Order Handling in GNAT
-
* Elaboration Code::
* Checking the Elaboration Order::
* Controlling the Elaboration Order::
@@ -614,7 +543,6 @@ Conditional Compilation
* Preprocessing::
Inline Assembler
-
* Basic Assembler Syntax::
* A Simple Example of Inline Assembler::
* Output Variables in Inline Assembler::
@@ -623,7 +551,6 @@ Inline Assembler
* Other Asm Functionality::
Compatibility and Porting Guide
-
* Compatibility with Ada 83::
* Compatibility between Ada 95 and Ada 2005::
* Implementation-dependent characteristics::
@@ -639,7 +566,6 @@ Compatibility and Porting Guide
@end ifset
Microsoft Windows Topics
-
@ifclear FSFEDITION
* Installing from the Command Line::
@end ifclear
@@ -658,10 +584,11 @@ Microsoft Windows Topics
* Setting Heap Size from gnatlink::
Mac OS Topics
-
* Codesigning the Debugger::
-* Index::
+GNU Free Documentation License
+
+Index
@end menu
@end ifnottex
@@ -723,16 +650,16 @@ and running Ada programs with the GNAT Ada programming environment.
by GNAT.
@item
-@ref{Compiling Using gcc}, describes how to compile
+@ref{Compiling With gcc}, describes how to compile
Ada programs with @command{gcc}, the Ada compiler.
@item
-@ref{Binding Using gnatbind}, describes how to
+@ref{Binding With gnatbind}, describes how to
perform binding of Ada programs with @code{gnatbind}, the GNAT binding
utility.
@item
-@ref{Linking Using gnatlink},
+@ref{Linking With gnatlink},
describes @command{gnatlink}, a
program that provides for linking using the GNAT run-time library to
construct a program. @command{gnatlink} can also incorporate foreign language
@@ -3798,8 +3725,8 @@ GNAT uses the current directory for temporary files.
@end ifset
@c *************************
-@node Compiling Using gcc
-@chapter Compiling Using @command{gcc}
+@node Compiling With gcc
+@chapter Compiling With @command{gcc}
@noindent
This chapter discusses how to compile Ada programs using the @command{gcc}
@@ -7088,7 +7015,7 @@ on subprogram calls and generic instantiations.
Note that @option{-gnatE} is not necessary for safety, because in the
default mode, GNAT ensures statically that the checks would not fail.
For full details of the effect and use of this switch,
-@xref{Compiling Using gcc}.
+@xref{Compiling With gcc}.
@item -fstack-check
@cindex @option{-fstack-check} (@command{gcc})
@@ -8280,8 +8207,8 @@ Compile the subunit in file @file{abc-def.adb} in semantic-checking-only
mode.
@end table
-@node Binding Using gnatbind
-@chapter Binding Using @code{gnatbind}
+@node Binding With gnatbind
+@chapter Binding With @code{gnatbind}
@findex gnatbind
@menu
@@ -9276,8 +9203,8 @@ since gnatlink will not be able to find the generated file.
@end table
@c ------------------------------------
-@node Linking Using gnatlink
-@chapter Linking Using @command{gnatlink}
+@node Linking With gnatlink
+@chapter Linking With @command{gnatlink}
@c ------------------------------------
@findex gnatlink
@@ -29729,6 +29656,12 @@ end API;
@end group
@end smallexample
+@noindent
+Note that a variable is
+@strong{always imported with a DLL convention}. A function
+can have @code{C} or @code{Stdcall} convention.
+(@pxref{Windows Calling Conventions}).
+
@node Creating an Import Library
@subsection Creating an Import Library
@cindex Import library