[multiple changes]

2011-08-03  Javier Miranda  <miranda@adacore.com>

	* exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
	Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.

2011-08-03  Bob Duff  <duff@adacore.com>

	* sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
	the Base_Type.

2011-08-03  Joel Brobecker  <brobecker@adacore.com brobecker>

	* g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
	g-sehash.ads: Fix typo. Update header.

2011-08-03  Thomas Quinot  <quinot@adacore.com>

	* exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
	expansion.

2011-08-03  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
	prefixes of private types along with records, since the selector may be
	a discriminant.
	* sem_res.adb (Resolve_Selected_Component): Consider prefixes of
	private types along with records, since the selector may be a
	discriminant.

From-SVN: r177259
This commit is contained in:
Arnaud Charlet 2011-08-03 12:10:40 +02:00
parent 92e770277f
commit 95eb8b69e6
15 changed files with 64 additions and 34 deletions

View File

@ -1,3 +1,32 @@
2011-08-03 Javier Miranda <miranda@adacore.com>
* exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
2011-08-03 Bob Duff <duff@adacore.com>
* sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
the Base_Type.
2011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
* g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
g-sehash.ads: Fix typo. Update header.
2011-08-03 Thomas Quinot <quinot@adacore.com>
* exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
expansion.
2011-08-03 Gary Dismukes <dismukes@adacore.com>
* sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
prefixes of private types along with records, since the selector may be
a discriminant.
* sem_res.adb (Resolve_Selected_Component): Consider prefixes of
private types along with records, since the selector may be a
discriminant.
2011-08-03 Emmanuel Briot <briot@adacore.com>
* prj-pp.adb (Pretty_Print): remove trailing blank line in the file

View File

@ -1472,9 +1472,7 @@ package body Exp_Ch6 is
-- functions that are treated as build-in-place to include other
-- composite result types.
if Ada_Version >= Ada_2005
and then Is_Build_In_Place_Function_Call (Actual)
then
if Is_Build_In_Place_Function_Call (Actual) then
Make_Build_In_Place_Call_In_Anonymous_Context (Actual);
end if;

View File

@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2011, 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- --
@ -3561,6 +3561,18 @@ package body Exp_Util is
end if;
end Is_Volatile_Reference;
--------------------------
-- Is_VM_By_Copy_Actual --
--------------------------
function Is_VM_By_Copy_Actual (N : Node_Id) return Boolean is
begin
return VM_Target /= No_VM
and then Nkind (N) = N_Identifier
and then Present (Renamed_Object (Entity (N)))
and then Nkind (Renamed_Object (Entity (N))) = N_Slice;
end Is_VM_By_Copy_Actual;
--------------------
-- Kill_Dead_Code --
--------------------

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2011, 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- --
@ -537,6 +537,10 @@ package Exp_Util is
-- or has Volatile_Components set. A slice of a volatile variable is
-- also volatile.
function Is_VM_By_Copy_Actual (N : Node_Id) return Boolean;
-- Returns True if we are compiling on VM targets and N is a node that
-- requires to be passed by copy in these targets.
procedure Kill_Dead_Code (N : Node_Id; Warn : Boolean := False);
-- N represents a node for a section of code that is known to be dead. Any
-- exception handler references and warning messages relating to this code

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2002-2009, Free Software Foundation, Inc. --
-- Copyright (C) 2002-2011, 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- --

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2009-2010, Free Software Foundation, Inc. --
-- Copyright (C) 2009-2011, 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- --

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2009, Free Software Foundation, Inc. --
-- Copyright (C) 2009-2011, 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- --

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2009, Free Software Foundation, Inc. --
-- Copyright (C) 2009-2011, 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- --

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2009, Free Software Foundation, Inc. --
-- Copyright (C) 2009-2011, 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- --

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2009, Free Software Foundation, Inc. --
-- Copyright (C) 2009-2011, 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- --

View File

@ -36,7 +36,6 @@ with Namet; use Namet;
with Sinfo; use Sinfo;
with Snames; use Snames;
with Stand; use Stand;
with Targparm; use Targparm;
package body Sem_Aux is
@ -785,18 +784,6 @@ package body Sem_Aux is
end if;
end Is_Limited_Type;
--------------------------
-- Is_VM_By_Copy_Actual --
--------------------------
function Is_VM_By_Copy_Actual (N : Node_Id) return Boolean is
begin
return VM_Target /= No_VM
and then Nkind (N) = N_Identifier
and then Present (Renamed_Object (Entity (N)))
and then Nkind (Renamed_Object (Entity (N))) = N_Slice;
end Is_VM_By_Copy_Actual;
----------------------
-- Nearest_Ancestor --
----------------------

View File

@ -186,10 +186,6 @@ package Sem_Aux is
-- composite containing a limited component, or a subtype of any of
-- these types).
function Is_VM_By_Copy_Actual (N : Node_Id) return Boolean;
-- Returns True if we are compiling on VM targets and N is a node that
-- requires to be passed by copy in these targets.
function Nearest_Ancestor (Typ : Entity_Id) return Entity_Id;
-- Given a subtype Typ, this function finds out the nearest ancestor from
-- which constraints and predicates are inherited. There is no simple link

View File

@ -3127,7 +3127,10 @@ package body Sem_Ch4 is
T := It.Typ;
end if;
if Is_Record_Type (T) then
-- Locate the component. For a private prefix the selector can denote
-- a discriminant.
if Is_Record_Type (T) or else Is_Private_Type (T) then
-- If the prefix is a class-wide type, the visible components are
-- those of the base type.

View File

@ -3639,11 +3639,9 @@ package body Sem_Ch8 is
(Op : Entity_Id;
F : Entity_Id) return Boolean
is
T : constant Entity_Id := Etype (F);
T : constant Entity_Id := Base_Type (Etype (F));
begin
return (In_Use (T)
or else Present (Current_Use_Clause (Base_Type (T))))
and then Scope (T) = Scope (Op);
return In_Use (T) and then Scope (T) = Scope (Op);
end Is_Primitive_Operator_In_Use;
-- Start of processing for End_Use_Package

View File

@ -8378,7 +8378,10 @@ package body Sem_Res is
T := It.Typ;
end if;
if Is_Record_Type (T) then
-- Locate selected component. For a private prefix the selector
-- can denote a discriminant.
if Is_Record_Type (T) or else Is_Private_Type (T) then
-- The visible components of a class-wide type are those of
-- the root type.