Commit c2658843 by Arnaud Charlet

[multiple changes]

2013-04-12  Bob Duff  <duff@adacore.com>

	* par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
	stack entry.

2013-04-12  Robert Dewar  <dewar@adacore.com>

	* switch-c.adb: Minor fix to wording of error message for
	-gnatet/eT.

2013-04-12  Robert Dewar  <dewar@adacore.com>

	* impunit.adb: Add s-multip and s-mudido to list of impl defined
	system units.
	* gnat_rm.texi: Add documentation for
	System.Multiprocessors[.Dispatching_Domains].

2013-04-12  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi: Completion of menu cleanups.

2013-04-12  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
	in Relaxed_RM_Semantics.

2013-04-12  Arnaud Charlet  <charlet@adacore.com>

	* set_targ.adb (elab code): Add support for non gcc back-ends
	where save_argv is null.

From-SVN: r197899
parent 340772c0
2013-04-12 Bob Duff <duff@adacore.com>
* par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
stack entry.
2013-04-12 Robert Dewar <dewar@adacore.com>
* switch-c.adb: Minor fix to wording of error message for
-gnatet/eT.
2013-04-12 Robert Dewar <dewar@adacore.com>
* impunit.adb: Add s-multip and s-mudido to list of impl defined
system units.
* gnat_rm.texi: Add documentation for
System.Multiprocessors[.Dispatching_Domains].
2013-04-12 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Completion of menu cleanups.
2013-04-12 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
in Relaxed_RM_Semantics.
2013-04-12 Arnaud Charlet <charlet@adacore.com>
* set_targ.adb (elab code): Add support for non gcc back-ends
where save_argv is null.
2013-04-12 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.
......
......@@ -548,6 +548,8 @@ The GNAT Library
* System.Address_Image (s-addima.ads)::
* System.Assertions (s-assert.ads)::
* System.Memory (s-memory.ads)::
* System.Multiprocessors (s-multip.ads)::
* System.Multiprocessors.Dispatching_Domains (s-mudido.ads)::
* System.Partition_Interface (s-parint.ads)::
* System.Pool_Global (s-pooglo.ads)::
* System.Pool_Local (s-pooloc.ads)::
......@@ -15508,6 +15510,8 @@ of GNAT, and will generate a warning message.
* System.Address_Image (s-addima.ads)::
* System.Assertions (s-assert.ads)::
* System.Memory (s-memory.ads)::
* System.Multiprocessors (s-multip.ads)::
* System.Multiprocessors.Dispatching_Domains (s-mudido.ads)::
* System.Partition_Interface (s-parint.ads)::
* System.Pool_Global (s-pooglo.ads)::
* System.Pool_Local (s-pooloc.ads)::
......@@ -16970,6 +16974,22 @@ allocation mechanisms for the default pool, and in addition, direct
calls to this unit may be made for low level allocation uses (for
example see the body of @code{GNAT.Tables}).
@node System.Multiprocessors (s-multip.ads)
@section @code{System.Multiprocessors} (@file{s-multip.ads})
@cindex @code{System.Multiprocessors} (@file{s-multip.ads})
@cindex Multiprocessor interface
This is an Ada 2012 unit defined in the Ada 2012 Reference Manual, but
in GNAT we also make it available in Ada 95 and Ada 2005 (where it is
technically an implementation-defined addition).
@node System.Multiprocessors.Dispatching_Domains (s-mudido.ads)
@section @code{System.Multiprocessors.Dispatching_Domains} (@file{s-mudido.ads})
@cindex @code{System.Multiprocessors.Dispatching_Domains} (@file{s-mudido.ads})
@cindex Multiprocessor interface
This is an Ada 2012 unit defined in the Ada 2012 Reference Manual, but
in GNAT we also make it available in Ada 95 and Ada 2005 (where it is
technically an implementation-defined addition).
@node System.Partition_Interface (s-parint.ads)
@section @code{System.Partition_Interface} (@file{s-parint.ads})
@cindex @code{System.Partition_Interface} (@file{s-parint.ads})
......
......@@ -169,32 +169,32 @@ AdaCore@*
* About This Guide::
* Getting Started with GNAT::
* The GNAT Compilation Model::
* Compiling With gcc::
* Binding With gnatbind::
* Linking With gnatlink::
* Compiling with gcc::
* Binding with gnatbind::
* Linking with gnatlink::
* The GNAT Make Program gnatmake::
* Improving Performance::
* Renaming Files Using gnatchop::
* Renaming Files with gnatchop::
* Configuration Pragmas::
* Handling Arbitrary File Naming Conventions Using gnatname::
* Handling Arbitrary File Naming Conventions with gnatname::
* GNAT Project Manager::
* Tools Supporting Project Files::
* The Cross-Referencing Tools gnatxref and gnatfind::
* The GNAT Pretty-Printer gnatpp::
* The GNAT Metric Tool gnatmetric::
* File Name Krunching Using gnatkr::
* Preprocessing Using gnatprep::
* The GNAT Metrics Tool gnatmetric::
* File Name Krunching with gnatkr::
* Preprocessing with gnatprep::
* The GNAT Library Browser gnatls::
* Cleaning Up Using gnatclean::
* Cleaning Up with gnatclean::
@ifclear vms
* GNAT and Libraries::
* Using the GNU make Utility::
@end ifclear
* Memory Management Issues::
* Stack Related Facilities::
* Verifying Properties Using gnatcheck::
* Creating Sample Bodies Using gnatstub::
* Creating Unit Tests Using gnattest::
* Verifying Properties with gnatcheck::
* Creating Sample Bodies with gnatstub::
* Creating Unit Tests with gnattest::
* Performing Dimensionality Analysis in GNAT::
* Generating Ada Bindings for C and C++ headers::
* Other Utility Programs::
......@@ -257,21 +257,21 @@ The GNAT Compilation Model
* Placement of temporary files::
@end ifset
Compiling With gcc
Compiling with gcc
* Compiling Programs::
* Switches for gcc::
* Search Paths and the Run-Time Library (RTL)::
* Order of Compilation Issues::
* Examples::
Binding With gnatbind
Binding with gnatbind
* Running gnatbind::
* Switches for gnatbind::
* Command-Line Access::
* Search Paths for gnatbind::
* Examples of gnatbind Usage::
Linking With gnatlink
Linking with gnatlink
* Running gnatlink::
* Switches for gnatlink::
......@@ -289,7 +289,7 @@ Improving Performance
* Reducing Size of Ada Executables with gnatelim::
* Reducing Size of Executables with unused subprogram/data elimination::
Renaming Files Using gnatchop
Renaming Files with gnatchop
* Handling Files with Multiple Units::
* Operating gnatchop in Compilation Mode::
* Command Line for gnatchop::
......@@ -300,7 +300,7 @@ Configuration Pragmas
* Handling of Configuration Pragmas::
* The Configuration Pragmas Files::
Handling Arbitrary File Naming Conventions Using gnatname
Handling Arbitrary File Naming Conventions with gnatname
* Arbitrary File Naming Conventions::
* Running gnatname::
* Switches for gnatname::
......@@ -318,11 +318,8 @@ GNAT Project Manager
* 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::
* gnatmake and Project Files::
* The GNAT Driver and Project Files::
The Cross-Referencing Tools gnatxref and gnatfind
* Switches for gnatxref::
......@@ -339,13 +336,13 @@ The GNAT Pretty-Printer gnatpp
The GNAT Metrics Tool gnatmetric
* Switches for gnatmetric::
File Name Krunching Using gnatkr
File Name Krunching with gnatkr
* About gnatkr::
* Using gnatkr::
* Krunching Method::
* Examples of gnatkr Usage::
Preprocessing Using gnatprep
Preprocessing with gnatprep
* Preprocessing Symbols::
* Using gnatprep::
* Switches for gnatprep::
......@@ -357,7 +354,7 @@ The GNAT Library Browser gnatls
* Switches for gnatls::
* Examples of gnatls Usage::
Cleaning Up Using gnatclean
Cleaning Up with gnatclean
* Running gnatclean::
* Switches for gnatclean::
@c * Examples of gnatclean Usage::
......@@ -388,13 +385,13 @@ Stack Related Facilities
* Static Stack Usage Analysis::
* Dynamic Stack Usage Analysis::
Verifying Properties Using gnatcheck
Verifying Properties with gnatcheck
Creating Sample Bodies Using gnatstub
Creating Sample Bodies with gnatstub
* Running gnatstub::
* Switches for gnatstub::
Creating Unit Tests Using gnattest
Creating Unit Tests with gnattest
* Running gnattest::
* Switches for gnattest::
* Project Attributes for gnattest::
......@@ -431,8 +428,8 @@ Other Utility Programs
@ifclear vms
Code Coverage and Profiling
* Code Coverage of Ada Programs using gcov::
* Profiling an Ada Program using gprof::
* Code Coverage of Ada Programs with gcov::
* Profiling an Ada Program with gprof::
@end ifclear
Running and Debugging Ada Programs
......@@ -445,7 +442,7 @@ Running and Debugging Ada Programs
* Ada Exceptions::
* Ada Tasks::
* Debugging Generic Units::
* Remote Debugging using gdbserver::
* Remote Debugging with gdbserver::
* GNAT Abnormal Termination or Failure to Terminate::
* Naming Conventions for GNAT Source Files::
* Getting Internal Debugging Information::
......@@ -469,36 +466,6 @@ Compatibility with HP Ada
* Input-Output::
* Implementation Limits::
* Tools and Utilities::
Language-Related Features
* Integer Types and Representations::
* Floating-Point Types and Representations::
* Pragmas Float_Representation and Long_Float::
* Fixed-Point Types and Representations::
* Record and Array Component Alignment::
* Address Clauses::
* 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::
* Task-Related Pragmas::
* Scheduling and Task Priority::
* The Task Stack::
* 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
......@@ -554,13 +521,13 @@ Compatibility and Porting Guide
* Compatibility with Ada 83::
* Compatibility between Ada 95 and Ada 2005::
* Implementation-dependent characteristics::
* Compatibility with Other Ada Systems::
* Representation Clauses::
@ifclear vms
@c This brief section is only in the non-VMS version
@c The complete chapter on HP Ada issues is in the VMS version
* Compatibility with HP Ada 83::
@end ifclear
* Compatibility with Other Ada Systems::
* Representation Clauses::
@ifset vms
* Transitioning to 64-Bit GNAT for OpenVMS::
@end ifset
......@@ -578,6 +545,7 @@ Microsoft Windows Topics
* Introduction to Dynamic Link Libraries (DLLs)::
* Using DLLs with GNAT::
* Building DLLs with GNAT::
* Building DLLs with gnatdll::
* GNAT and Windows Resources::
* Debugging a DLL::
* Setting Stack Size from gnatlink::
......@@ -650,16 +618,16 @@ and running Ada programs with the GNAT Ada programming environment.
by GNAT.
@item
@ref{Compiling With gcc}, describes how to compile
@ref{Compiling with gcc}, describes how to compile
Ada programs with @command{gcc}, the Ada compiler.
@item
@ref{Binding With 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 With 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
......@@ -679,7 +647,7 @@ also describes the @command{gnatelim} tool and unused subprogram/data
elimination.
@item
@ref{Renaming Files Using gnatchop}, describes
@ref{Renaming Files with gnatchop}, describes
@code{gnatchop}, a utility that allows you to preprocess a file that
contains Ada source code, and split it into one or more new files, one
for each compilation unit.
......@@ -689,7 +657,7 @@ for each compilation unit.
handled by GNAT.
@item
@ref{Handling Arbitrary File Naming Conventions Using gnatname},
@ref{Handling Arbitrary File Naming Conventions with gnatname},
shows how to override the default GNAT file naming conventions,
either for an individual unit or globally.
......@@ -708,17 +676,17 @@ version of an Ada source file with control over casing, indentation,
comment placement, and other elements of program presentation style.
@item
@ref{The GNAT Metric Tool gnatmetric}, shows how to compute various
@ref{The GNAT Metrics Tool gnatmetric}, shows how to compute various
metrics for an Ada source file, such as the number of types and subprograms,
and assorted complexity measures.
@item
@ref{File Name Krunching Using gnatkr}, describes the @code{gnatkr}
@ref{File Name Krunching with gnatkr}, describes the @code{gnatkr}
file name krunching utility, used to handle shortened
file names on operating systems with a limit on the length of names.
@item
@ref{Preprocessing Using gnatprep}, describes @code{gnatprep}, a
@ref{Preprocessing with gnatprep}, describes @code{gnatprep}, a
preprocessor utility that allows a single source file to be used to
generate multiple or parameterized source files by means of macro
substitution.
......@@ -729,7 +697,7 @@ utility that displays information about compiled units, including dependences
on the corresponding sources files, and consistency of compilations.
@item
@ref{Cleaning Up Using gnatclean}, describes @code{gnatclean}, a utility
@ref{Cleaning Up with gnatclean}, describes @code{gnatclean}, a utility
to delete files that are produced by the compiler, binder and linker.
@ifclear vms
......@@ -757,15 +725,15 @@ allocation and deallocation and helps detect ``memory leaks''.
stack checking and analysis.
@item
@ref{Verifying Properties Using gnatcheck}, discusses @code{gnatcheck},
@ref{Verifying Properties with gnatcheck}, discusses @code{gnatcheck},
a utility that checks Ada code against a set of rules.
@item
@ref{Creating Sample Bodies Using gnatstub}, discusses @code{gnatstub},
@ref{Creating Sample Bodies with gnatstub}, discusses @code{gnatstub},
a utility that generates empty but compilable bodies for library units.
@item
@ref{Creating Unit Tests Using gnattest}, discusses @code{gnattest},
@ref{Creating Unit Tests with gnattest}, discusses @code{gnattest},
a utility that generates unit testing templates for library units.
@item
......@@ -1056,7 +1024,7 @@ Alternatively, if you want to rename your files according to this default
convention, which is probably more convenient if you will be using GNAT
for all your compilations, then the @code{gnatchop} utility
can be used to generate correctly-named source files
(@pxref{Renaming Files Using gnatchop}).
(@pxref{Renaming Files with gnatchop}).
You can compile the program using the following command (@code{$} is used
as the command prompt in the examples in this document):
......@@ -1993,7 +1961,7 @@ can specify the exact file names that you want used, as described
in the next section. Finally, if your Ada programs are migrating from a
compiler with a different naming convention, you can use the gnatchop
utility to produce source files that follow the GNAT naming conventions.
(For details @pxref{Renaming Files Using gnatchop}.)
(For details @pxref{Renaming Files with gnatchop}.)
Note: in the case of @code{Windows NT/XP} or @code{OpenVMS} operating
systems, case is not significant. So for example on @code{Windows XP}
......@@ -3725,8 +3693,8 @@ GNAT uses the current directory for temporary files.
@end ifset
@c *************************
@node Compiling With gcc
@chapter Compiling With @command{gcc}
@node Compiling with gcc
@chapter Compiling with @command{gcc}
@noindent
This chapter discusses how to compile Ada programs using the @command{gcc}
......@@ -7015,7 +6983,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 With gcc}.
@xref{Compiling with gcc}.
@item -fstack-check
@cindex @option{-fstack-check} (@command{gcc})
......@@ -7084,7 +7052,7 @@ Normally, GNAT allows only a single unit in a source file. However, this
restriction does not apply in syntax-check-only mode, and it is possible
to check a file containing multiple compilation units concatenated
together. This is primarily used by the @code{gnatchop} utility
(@pxref{Renaming Files Using gnatchop}).
(@pxref{Renaming Files with gnatchop}).
@end table
@node Using gcc for Semantic Checking
......@@ -7859,7 +7827,7 @@ preprocessing.
@noindent
The actual preprocessing function is described in details in section
@ref{Preprocessing Using gnatprep}. This section only describes how integrated
@ref{Preprocessing with gnatprep}. This section only describes how integrated
preprocessing is triggered and parameterized.
@table @code
......@@ -8207,8 +8175,8 @@ Compile the subunit in file @file{abc-def.adb} in semantic-checking-only
mode.
@end table
@node Binding With gnatbind
@chapter Binding With @code{gnatbind}
@node Binding with gnatbind
@chapter Binding with @code{gnatbind}
@findex gnatbind
@menu
......@@ -9203,8 +9171,8 @@ since gnatlink will not be able to find the generated file.
@end table
@c ------------------------------------
@node Linking With gnatlink
@chapter Linking With @command{gnatlink}
@node Linking with gnatlink
@chapter Linking with @command{gnatlink}
@c ------------------------------------
@findex gnatlink
......@@ -11560,8 +11528,8 @@ It can be observed that the procedure @code{Unused} and the object
appropriate options.
@c ********************************
@node Renaming Files Using gnatchop
@chapter Renaming Files Using @code{gnatchop}
@node Renaming Files with gnatchop
@chapter Renaming Files with @code{gnatchop}
@findex gnatchop
@noindent
......@@ -11918,6 +11886,11 @@ unit will be skipped.
@cindex Configuration pragmas
@cindex Pragmas, configuration
@menu
* Handling of Configuration Pragmas::
* The Configuration Pragmas Files::
@end menu
@noindent
Configuration pragmas include those pragmas described as
such in the Ada Reference Manual, as well as
......@@ -11994,14 +11967,8 @@ recognized by GNAT:
Validity_Checks
Warnings
Wide_Character_Encoding
@end smallexample
@menu
* Handling of Configuration Pragmas::
* The Configuration Pragmas Files::
@end menu
@node Handling of Configuration Pragmas
@section Handling of Configuration Pragmas
......@@ -12090,8 +12057,8 @@ predefined package SYSTEM all the additional types and subprograms that are
defined in HP Ada. See @ref{Compatibility with HP Ada} for details.
@end ifset
@node Handling Arbitrary File Naming Conventions Using gnatname
@chapter Handling Arbitrary File Naming Conventions Using @code{gnatname}
@node Handling Arbitrary File Naming Conventions with gnatname
@chapter Handling Arbitrary File Naming Conventions with @code{gnatname}
@cindex Arbitrary File Naming Conventions
@menu
......@@ -13967,6 +13934,11 @@ point to any character in the middle of the identifier.
@findex gnatpp
@cindex Pretty-Printer
@menu
* Switches for gnatpp::
* Formatting Rules::
@end menu
@noindent
^The @command{gnatpp} tool^GNAT PRETTY^ is an ASIS-based utility
for source reformatting / pretty-printing.
......@@ -14027,11 +13999,6 @@ use the @option{-gnat05} switch if sources should be compiled in
Ada 2005 mode etc.
@end itemize
@menu
* Switches for gnatpp::
* Formatting Rules::
@end menu
@node Switches for gnatpp
@section Switches for @command{gnatpp}
......@@ -15137,8 +15104,8 @@ end Test;
@end smallexample
@c *********************************
@node The GNAT Metric Tool gnatmetric
@chapter The GNAT Metric Tool @command{gnatmetric}
@node The GNAT Metrics Tool gnatmetric
@chapter The GNAT Metrics Tool @command{gnatmetric}
@findex gnatmetric
@cindex Metric tool
......@@ -15149,6 +15116,10 @@ It takes an Ada source file as input and generates a file containing the
metrics data as output. Various switches control which
metrics are computed and output.
@menu
* Switches for gnatmetric::
@end menu
@command{gnatmetric} generates and uses the ASIS
tree for the input source and thus requires the input to be syntactically and
semantically legal.
......@@ -15201,10 +15172,6 @@ use the @option{-gnat05} switch if sources should be compiled in
Ada 2005 mode etc.
@end itemize
@menu
* Switches for gnatmetric::
@end menu
@node Switches for gnatmetric
@section Switches for @command{gnatmetric}
......@@ -16076,8 +16043,8 @@ the @option{-U} option followed by the name of the main unit:
@c ***********************************
@node File Name Krunching Using gnatkr
@chapter File Name Krunching Using @code{gnatkr}
@node File Name Krunching with gnatkr
@chapter File Name Krunching with @code{gnatkr}
@findex gnatkr
@noindent
......@@ -16292,8 +16259,8 @@ $ gnatkr very_long_unit_name.ads/count=6 --> vlunna.ads
$ gnatkr very_long_unit_name.ads/count=0 --> very_long_unit_name.ads
@end smallexample
@node Preprocessing Using gnatprep
@chapter Preprocessing Using @code{gnatprep}
@node Preprocessing with gnatprep
@chapter Preprocessing with @code{gnatprep}
@findex gnatprep
@noindent
......@@ -16889,8 +16856,8 @@ GNU:[LIB.OPENVMS7_1.2_8_1.ADALIB]unchconv.ads
@end smallexample
@end ifset
@node Cleaning Up Using gnatclean
@chapter Cleaning Up Using @code{gnatclean}
@node Cleaning Up with gnatclean
@chapter Cleaning Up with @code{gnatclean}
@findex gnatclean
@cindex Cleaning tool
......@@ -18743,8 +18710,8 @@ stack usage reports at run-time. See its body for the details.
@c *********************************
@c * GNATCHECK *
@c *********************************
@node Verifying Properties Using gnatcheck
@chapter Verifying Properties Using @command{gnatcheck}
@node Verifying Properties with gnatcheck
@chapter Verifying Properties with @command{gnatcheck}
@findex gnatcheck
@cindex @command{gnatcheck}
......@@ -18765,8 +18732,8 @@ For full details, refer to @cite{GNATcheck Reference Manual} document.
@c *********************************
@node Creating Sample Bodies Using gnatstub
@chapter Creating Sample Bodies Using @command{gnatstub}
@node Creating Sample Bodies with gnatstub
@chapter Creating Sample Bodies with @command{gnatstub}
@findex gnatstub
@noindent
......@@ -18974,8 +18941,8 @@ Verbose mode: generate version information.
@end table
@c *********************************
@node Creating Unit Tests Using gnattest
@chapter Creating Unit Tests Using @command{gnattest}
@node Creating Unit Tests with gnattest
@chapter Creating Unit Tests with @command{gnattest}
@findex gnattest
@noindent
......@@ -20269,12 +20236,12 @@ This chapter describes how to use @code{gcov} - coverage testing tool - and
@code{gprof} - profiler tool - on your Ada programs.
@menu
* Code Coverage of Ada Programs using gcov::
* Profiling an Ada Program using gprof::
* Code Coverage of Ada Programs with gcov::
* Profiling an Ada Program with gprof::
@end menu
@node Code Coverage of Ada Programs using gcov
@section Code Coverage of Ada Programs using gcov
@node Code Coverage of Ada Programs with gcov
@section Code Coverage of Ada Programs with gcov
@cindex gcov
@cindex -fprofile-arcs
@cindex -ftest-coverage
......@@ -20361,8 +20328,8 @@ text file, and provide this file to gcov as a parameter, preceded by a @@
Note that on AIX compiling a static library with @code{-fprofile-arcs} is
not supported as there can be unresolved symbols during the final link.
@node Profiling an Ada Program using gprof
@section Profiling an Ada Program using gprof
@node Profiling an Ada Program with gprof
@section Profiling an Ada Program with gprof
@cindex gprof
@cindex -pg
@cindex Profiling
......@@ -20587,7 +20554,7 @@ the incorrect user program.
* Ada Exceptions::
* Ada Tasks::
* Debugging Generic Units::
* Remote Debugging using gdbserver::
* Remote Debugging with gdbserver::
* GNAT Abnormal Termination or Failure to Terminate::
* Naming Conventions for GNAT Source Files::
* Getting Internal Debugging Information::
......@@ -21045,9 +21012,9 @@ When the breakpoint occurs, you can step through the code of the
instance in the normal manner and examine the values of local variables, as for
other units.
@node Remote Debugging using gdbserver
@section Remote Debugging using gdbserver
@cindex Remote Debugging using gdbserver
@node Remote Debugging with gdbserver
@section Remote Debugging with gdbserver
@cindex Remote Debugging with gdbserver
@noindent
On platforms where gdbserver is supported, it is possible to use this tool
......@@ -27238,7 +27205,7 @@ The preprocessor may be used in two separate modes. It can be used quite
separately from the compiler, to generate a separate output source file
that is then fed to the compiler as a separate step. This is the
@code{gnatprep} utility, whose use is fully described in
@ref{Preprocessing Using gnatprep}.
@ref{Preprocessing with gnatprep}.
@cindex @code{gnatprep}
The preprocessing language allows such constructs as
......@@ -29656,12 +29623,6 @@ 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
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2000-2012, Free Software Foundation, Inc. --
-- Copyright (C) 2000-2013, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
......@@ -380,7 +380,14 @@ package body Impunit is
("s-ststop", F), -- System.Strings.Stream_Ops
("s-tasinf", F), -- System.Task_Info
("s-wchcnv", F), -- System.Wch_Cnv
("s-wchcon", F)); -- System.Wch_Con
("s-wchcon", F), -- System.Wch_Con
-- The following are strictly speaking Ada 2012 units, but we are allowed
-- to add children to system, so we consider them to be implementation
-- defined additions to System in earlier versions of Ada.
("s-multip", T), -- System.Multiprocessors
("s-mudido", T)); -- System.Multiprocessors.Dispatching_Domains
--------------------
-- Ada 2005 Units --
......@@ -544,8 +551,6 @@ package body Impunit is
-- The following units should be used only in Ada 2012 mode
Non_Imp_File_Names_12 : constant File_List := (
("s-multip", T), -- System.Multiprocessors
("s-mudido", T), -- System.Multiprocessors.Dispatching_Domains
("s-stposu", T), -- System.Storage_Pools.Subpools
("a-cobove", T), -- Ada.Containers.Bounded_Vectors
("a-cbdlli", T), -- Ada.Containers.Bounded_Doubly_Linked_Lists
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
......@@ -138,6 +138,7 @@ package body Ch7 is
end if;
T_Body;
Scope.Table (Scope.Last).Sloc := Token_Ptr;
Name_Node := P_Defining_Program_Unit_Name;
Scope.Table (Scope.Last).Labl := Name_Node;
TF_Is;
......@@ -182,6 +183,7 @@ package body Ch7 is
-- Cases other than Package_Body
else
Scope.Table (Scope.Last).Sloc := Token_Ptr;
Name_Node := P_Defining_Program_Unit_Name;
Scope.Table (Scope.Last).Labl := Name_Node;
......
......@@ -3456,8 +3456,12 @@ package body Sem_Prag is
end if;
-- Give message if needed if we fall through those tests
-- except on Relaxed_RM_Semantics where we let go: either this
-- is a case accepted/ignored by other Ada compilers (e.g.
-- a mix of Convention and Import), or another error will be
-- generated later (e.g. using both Import and Export).
if Err then
if Err and not Relaxed_RM_Semantics then
Error_Pragma_Arg
("at most one Convention/Export/Import pragma is allowed",
Arg2);
......
......@@ -487,18 +487,26 @@ begin
pragma Import (C, save_argv);
-- Saved value of argv (argument pointers), imported from misc.c
function Len_Arg (Arg : Pos) return Nat;
-- Determine length of argument number Arg on original gnat1 command
-- line.
gnat_argc : Nat;
gnat_argv : Arg_Array_Ptr;
pragma Import (C, gnat_argc);
pragma Import (C, gnat_argv);
-- If save_argv is not set, default to gnat_argc/argv
argc : Nat;
argv : Arg_Array_Ptr;
function Len_Arg (Arg : Big_String_Ptr) return Nat;
-- Determine length of argument Arg (a nul terminated C string).
-------------
-- Len_Arg --
-------------
function Len_Arg (Arg : Pos) return Nat is
function Len_Arg (Arg : Big_String_Ptr) return Nat is
begin
for J in 1 .. Nat'Last loop
if save_argv (Arg).all (Natural (J)) = ASCII.NUL then
if Arg (Natural (J)) = ASCII.NUL then
return J - 1;
end if;
end loop;
......@@ -507,12 +515,21 @@ begin
end Len_Arg;
begin
if save_argv /= null then
argv := save_argv;
argc := save_argc;
else
-- Case of a non gcc compiler, e.g. gnat2why or gnat2scil
argv := gnat_argv;
argc := gnat_argc;
end if;
-- Loop through arguments looking for -gnateT, also look for -gnatd.b
for Arg in 1 .. save_argc - 1 loop
for Arg in 1 .. argc - 1 loop
declare
Argv_Ptr : constant Big_String_Ptr := save_argv (Arg);
Argv_Len : constant Nat := Len_Arg (Arg);
Argv_Ptr : constant Big_String_Ptr := argv (Arg);
Argv_Len : constant Nat := Len_Arg (Argv_Ptr);
begin
if Argv_Len > 8
......
......@@ -652,8 +652,7 @@ package body Switch.C is
when 't' =>
if not First_Switch then
Osint.Fail
("-gnatet must be first if combined with "
& "other switches");
("-gnatet must not be combined with other switches");
end if;
-- Check for '='
......@@ -674,8 +673,7 @@ package body Switch.C is
when 'T' =>
if not First_Switch then
Osint.Fail
("-gnateT must be first if combined with "
& "other switches");
("-gnateT must not be combined with other switches");
end if;
-- Check for '='
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment