Commit 99ba07a3 by Arnaud Charlet

[multiple changes]

2011-09-19  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
	exp_aggr.adb: Minor reformatting.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* lib-xref.adb (Generate_Reference): Change entity referenced
	to underlying object if any, or else reference to the HEAP.

From-SVN: r178956
parent 96b25c42
2011-09-19 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
exp_aggr.adb: Minor reformatting.
2011-09-19 Yannick Moy <moy@adacore.com>
* lib-xref.adb (Generate_Reference): Change entity referenced
to underlying object if any, or else reference to the HEAP.
2011-09-15 Arnaud Charlet <charlet@adacore.com> 2011-09-15 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Make-lang.in: Update dependencies. * gcc-interface/Make-lang.in: Update dependencies.
......
...@@ -4705,7 +4705,6 @@ package body Exp_Aggr is ...@@ -4705,7 +4705,6 @@ package body Exp_Aggr is
and then Static_Elaboration_Desired (Current_Scope) and then Static_Elaboration_Desired (Current_Scope)
then then
Convert_To_Positional (N, Max_Others_Replicate => 100); Convert_To_Positional (N, Max_Others_Replicate => 100);
else else
Convert_To_Positional (N); Convert_To_Positional (N);
end if; end if;
...@@ -5971,7 +5970,7 @@ package body Exp_Aggr is ...@@ -5971,7 +5970,7 @@ package body Exp_Aggr is
if Present (Component_Associations (N)) then if Present (Component_Associations (N)) then
Convert_To_Positional Convert_To_Positional
(N, Max_Others_Replicate => 64, Handle_Bit_Packed => True); (N, Max_Others_Replicate => 64, Handle_Bit_Packed => True);
return Nkind (N) /= N_Aggregate; return Nkind (N) /= N_Aggregate;
end if; end if;
......
...@@ -350,7 +350,7 @@ package Lib.Writ is ...@@ -350,7 +350,7 @@ package Lib.Writ is
-- Subsequent R lines are present only if pragma Restriction No_Dependence -- Subsequent R lines are present only if pragma Restriction No_Dependence
-- is used. There is one such line for each such pragma appearing in the -- is used. There is one such line for each such pragma appearing in the
-- extended main unit. The format is -- extended main unit. The format is:
-- R unit_name -- R unit_name
......
...@@ -951,6 +951,33 @@ package body Lib.Xref is ...@@ -951,6 +951,33 @@ package body Lib.Xref is
return; return;
end if; end if;
-- In Alfa mode, consider the underlying entity renamed instead of
-- the renaming, which is needed to compute a valid set of effects
-- (reads, writes) for the enclosing subprogram.
if Alfa_Mode
and then Is_Object (Ent)
and then Present (Renamed_Object (Ent))
then
Ent := Get_Enclosing_Object (Renamed_Object (Ent));
-- If no enclosing object, then it could be a reference to any
-- location not tracked individually, like heap-allocated data.
-- Conservatively approximate this possibility by generating a
-- dereference, and return.
if No (Ent) then
if Actual_Typ = 'w' then
Alfa.Generate_Dereference (Nod, 'r');
Alfa.Generate_Dereference (Nod, 'w');
else
Alfa.Generate_Dereference (Nod, 'r');
end if;
return;
end if;
end if;
-- Record reference to entity -- Record reference to entity
Ref := Original_Location (Sloc (Nod)); Ref := Original_Location (Sloc (Nod));
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 2004-2009, Free Software Foundation, Inc. -- -- Copyright (C) 2004-2011, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -49,7 +49,10 @@ package System.Restrictions is ...@@ -49,7 +49,10 @@ package System.Restrictions is
package Rident is new System.Rident; package Rident is new System.Rident;
Run_Time_Restrictions : Rident.Restrictions_Info; Run_Time_Restrictions : Rident.Restrictions_Info;
-- Restrictions as set by the user, or detected by the binder. -- Restrictions as set by the user, or detected by the binder. See details
-- in package System.Rident for what restrictions are included in the list
-- and the format of the information.
--
-- Note that a restriction which is both Set and Violated at run-time means -- Note that a restriction which is both Set and Violated at run-time means
-- that the violation was detected as part of the Ada run-time and not -- that the violation was detected as part of the Ada run-time and not
-- as part of user code. -- as part of user code.
......
...@@ -745,8 +745,8 @@ package body Sem_Aggr is ...@@ -745,8 +745,8 @@ package body Sem_Aggr is
begin begin
-- All the components of List are matched against Component and a count -- All the components of List are matched against Component and a count
-- is maintained of possible misspellings. When at the end of the -- is maintained of possible misspellings. When at the end of the the
-- the analysis there are one or two (not more!) possible misspellings, -- analysis there are one or two (not more!) possible misspellings,
-- these misspellings will be suggested as possible correction. -- these misspellings will be suggested as possible correction.
Component_Elmt := First_Elmt (Elements); Component_Elmt := First_Elmt (Elements);
......
...@@ -326,8 +326,9 @@ package body Sem_Ch6 is ...@@ -326,8 +326,9 @@ package body Sem_Ch6 is
Make_Subprogram_Declaration (Loc, Make_Subprogram_Declaration (Loc,
Specification => Copy_Separate_Tree (Specification (N))); Specification => Copy_Separate_Tree (Specification (N)));
-- Do rewrite setting Comes_From_Source on the result if the original -- Do rewrite propagating the information that an expression function
-- expression function came from source. -- comes from source (otherwise references to this entity are not
-- stored).
Rewrite (N, New_Decl); Rewrite (N, New_Decl);
Set_Comes_From_Source Set_Comes_From_Source
......
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