[multiple changes]

2013-04-11  Vincent Celier  <celier@adacore.com>

	* gnat_ugn.texi: Remove section "The Development Environments"
	now that all predefined attributes are documented, including
	those in package IDE.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb: Preserve parent link in copy of expression.

From-SVN: r197763
This commit is contained in:
Arnaud Charlet 2013-04-11 12:37:21 +02:00
parent 761f7dcb77
commit 845f06e288
3 changed files with 18 additions and 83 deletions

View File

@ -1,3 +1,13 @@
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Remove section "The Development Environments"
now that all predefined attributes are documented, including
those in package IDE.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Preserve parent link in copy of expression.
2013-04-11 Vincent Celier <celier@adacore.com>
* projects.texi: Complete rewrite of the subsection Attributes

View File

@ -12509,7 +12509,6 @@ are used in this example.
@menu
* gnatmake and Project Files::
* The GNAT Driver and Project Files::
* The Development Environments::
@end menu
@c ---------------------------------------------
@ -13298,86 +13297,6 @@ tool invoked by the @command{gnat} driver are explicitly specified
either directly or through the tool @option{-files} option, then the tool
is called only for these explicitly specified files.
@c ---------------------------------------------
@node The Development Environments
@section The Development Environments
@c ---------------------------------------------
@noindent
See the appropriate manuals for more details. These environments will
store a number of settings in the project itself, when they are meant
to be shared by the whole team working on the project. Here are the
attributes defined in the package @b{IDE} in projects.
@table @code
@item Remote_Host
This is a simple attribute. Its value is a string that designates the remote
host in a cross-compilation environment, to be used for remote compilation and
debugging. This field should not be specified when running on the local
machine.
@item Program_Host
This is a simple attribute. Its value is a string that specifies the
name of IP address of the embedded target in a cross-compilation environment,
on which the program should execute.
@item Communication_Protocol
This is a simple string attribute. Its value is the name of the protocol
to use to communicate with the target in a cross-compilation environment,
e.g.@: @code{"wtx"} or @code{"vxworks"}.
@item Compiler_Command
This is an indexed attribute, whose domain is a language name. Its
value is string that denotes the command to be used to invoke the compiler.
The value of @code{Compiler_Command ("Ada")} is expected to be compatible with
@command{gnatmake}, in particular in the handling of switches.
@item Debugger_Command
This is simple attribute, Its value is a string that specifies the name of
the debugger to be used, such as gdb, powerpc-wrs-vxworks-gdb or gdb-4.
@item Default_Switches
This is an indexed attribute. Its indexes are the name of the
external tools that the GNAT Programming System (GPS) is supporting. Its
value is a list of switches to use when invoking that tool.
@item Gnatlist
This is a simple attribute. Its value is a string that specifies the name
of the @command{gnatls} utility to be used to retrieve information about the
predefined path; e.g., @code{"gnatls"}, @code{"powerpc-wrs-vxworks-gnatls"}.
@item VCS_Kind
This is a simple attribute. Its value is a string used to specify the
Version Control System (VCS) to be used for this project, e.g.@: CVS, RCS
ClearCase or Perforce.
@item Gnat
This is a simple attribute. Its value is a string that specifies the name
of the @command{gnat} utility to be used when executing various tools from
GPS, in particular @code{"gnat pp"}, @code{"gnat stub"},@dots{}
@item VCS_File_Check
This is a simple attribute. Its value is a string that specifies the
command used by the VCS to check the validity of a file, either
when the user explicitly asks for a check, or as a sanity check before
doing the check-in.
@item VCS_Log_Check
This is a simple attribute. Its value is a string that specifies
the command used by the VCS to check the validity of a log file.
@item VCS_Repository_Root
The VCS repository root path. This is used to create tags or branches
of the repository. For subversion the value should be the @code{URL}
as specified to check-out the working copy of the repository.
@item VCS_Patch_Root
The local root directory to use for building patch file. All patch chunks
will be relative to this path. The root project directory is used if
this value is not defined.
@end table
@c *****************************************
@c * Cross-referencing tools
@c *****************************************

View File

@ -447,9 +447,15 @@ package body Sem_Ch6 is
-- Do a preanalysis of the expression on a separate copy, to
-- prevent visibility issues later with operators in instances.
-- Attach copy to tree so that parent links are available.
declare
Expr : constant Node_Id := New_Copy_Tree (Expression (Ret));
begin
Set_Parent (Expr, Ret);
Preanalyze_Spec_Expression (Expr, Etype (Id));
end;
Preanalyze_Spec_Expression
(New_Copy_Tree (Expression (Ret)), Etype (Id));
End_Scope;
end;
end if;