mirror of git://gcc.gnu.org/git/gcc.git
[multiple changes]
2017-09-18 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb, sem_ch6.adb, sem_res.adb: Minor reformatting. 2017-09-18 Piotr Trojanek <trojanek@adacore.com> * einfo.ads (Is_Imported): Update comment, as this routine also applies to constants. 2017-09-18 Yannick Moy <moy@adacore.com> * sem_util.adb (Find_Placement_In_State_Space): Allow generic package holding state. 2017-09-18 Justin Squirek <squirek@adacore.com> * sem_prag.adb (Is_Non_Significant_Pragma_Reference): Change the constant indication for Pragma_Linker_Section. From-SVN: r252910
This commit is contained in:
parent
677d7278a3
commit
d7cc5f0ebf
|
|
@ -1,3 +1,22 @@
|
||||||
|
2017-09-18 Hristian Kirtchev <kirtchev@adacore.com>
|
||||||
|
|
||||||
|
* freeze.adb, sem_ch6.adb, sem_res.adb: Minor reformatting.
|
||||||
|
|
||||||
|
2017-09-18 Piotr Trojanek <trojanek@adacore.com>
|
||||||
|
|
||||||
|
* einfo.ads (Is_Imported): Update comment, as this
|
||||||
|
routine also applies to constants.
|
||||||
|
|
||||||
|
2017-09-18 Yannick Moy <moy@adacore.com>
|
||||||
|
|
||||||
|
* sem_util.adb (Find_Placement_In_State_Space): Allow generic package
|
||||||
|
holding state.
|
||||||
|
|
||||||
|
2017-09-18 Justin Squirek <squirek@adacore.com>
|
||||||
|
|
||||||
|
* sem_prag.adb (Is_Non_Significant_Pragma_Reference): Change the
|
||||||
|
constant indication for Pragma_Linker_Section.
|
||||||
|
|
||||||
2017-09-18 Bob Duff <duff@adacore.com>
|
2017-09-18 Bob Duff <duff@adacore.com>
|
||||||
|
|
||||||
Alternate fix for PR ada/71358
|
Alternate fix for PR ada/71358
|
||||||
|
|
|
||||||
|
|
@ -2684,9 +2684,9 @@ package Einfo is
|
||||||
|
|
||||||
-- Is_Imported (Flag24)
|
-- Is_Imported (Flag24)
|
||||||
-- Defined in all entities. Set if the entity is imported. For now we
|
-- Defined in all entities. Set if the entity is imported. For now we
|
||||||
-- only allow the import of exceptions, functions, procedures, packages.
|
-- only allow the import of exceptions, functions, procedures, packages,
|
||||||
-- and variables. Exceptions, packages and types can only be imported in
|
-- constants, and variables. Exceptions, packages, and types can only be
|
||||||
-- the Java VM implementation, which is retired.
|
-- imported in the Java VM implementation, which is retired.
|
||||||
|
|
||||||
-- Is_Incomplete_Or_Private_Type (synthesized)
|
-- Is_Incomplete_Or_Private_Type (synthesized)
|
||||||
-- Applies to all entities, true for private and incomplete types
|
-- Applies to all entities, true for private and incomplete types
|
||||||
|
|
|
||||||
|
|
@ -8237,6 +8237,7 @@ package body Freeze is
|
||||||
if No (Extra_Formals (E)) then
|
if No (Extra_Formals (E)) then
|
||||||
Create_Extra_Formals (E);
|
Create_Extra_Formals (E);
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
Set_Mechanisms (E);
|
Set_Mechanisms (E);
|
||||||
|
|
||||||
-- If this is convention Ada and a Valued_Procedure, that's odd
|
-- If this is convention Ada and a Valued_Procedure, that's odd
|
||||||
|
|
|
||||||
|
|
@ -751,8 +751,8 @@ package body Sem_Ch6 is
|
||||||
and then Is_Tagged_Type (Etype (Def_Id))
|
and then Is_Tagged_Type (Etype (Def_Id))
|
||||||
then
|
then
|
||||||
Check_Dynamically_Tagged_Expression
|
Check_Dynamically_Tagged_Expression
|
||||||
(Expr => Expr,
|
(Expr => Expr,
|
||||||
Typ => Etype (Def_Id),
|
Typ => Etype (Def_Id),
|
||||||
Related_Nod => Original_Node (N));
|
Related_Nod => Original_Node (N));
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
|
|
@ -3233,8 +3233,8 @@ package body Sem_Ch6 is
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
function Mask_Type_Refs (Node : Node_Id) return Traverse_Result is
|
function Mask_Type_Refs (Node : Node_Id) return Traverse_Result is
|
||||||
|
|
||||||
procedure Mask_Type (Typ : Entity_Id);
|
procedure Mask_Type (Typ : Entity_Id);
|
||||||
|
-- ??? what does this do?
|
||||||
|
|
||||||
---------------
|
---------------
|
||||||
-- Mask_Type --
|
-- Mask_Type --
|
||||||
|
|
@ -3256,6 +3256,8 @@ package body Sem_Ch6 is
|
||||||
end if;
|
end if;
|
||||||
end Mask_Type;
|
end Mask_Type;
|
||||||
|
|
||||||
|
-- Start of processing for Mask_Type_Refs
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if Is_Entity_Name (Node) and then Present (Entity (Node)) then
|
if Is_Entity_Name (Node) and then Present (Entity (Node)) then
|
||||||
Mask_Type (Etype (Entity (Node)));
|
Mask_Type (Etype (Entity (Node)));
|
||||||
|
|
@ -3275,8 +3277,13 @@ package body Sem_Ch6 is
|
||||||
|
|
||||||
procedure Mask_References is new Traverse_Proc (Mask_Type_Refs);
|
procedure Mask_References is new Traverse_Proc (Mask_Type_Refs);
|
||||||
|
|
||||||
|
-- Local variables
|
||||||
|
|
||||||
Return_Stmt : constant Node_Id :=
|
Return_Stmt : constant Node_Id :=
|
||||||
First (Statements (Handled_Statement_Sequence (N)));
|
First (Statements (Handled_Statement_Sequence (N)));
|
||||||
|
|
||||||
|
-- Start of processing for Mask_Unfrozen_Types
|
||||||
|
|
||||||
begin
|
begin
|
||||||
pragma Assert (Nkind (Return_Stmt) = N_Simple_Return_Statement);
|
pragma Assert (Nkind (Return_Stmt) = N_Simple_Return_Statement);
|
||||||
|
|
||||||
|
|
@ -3710,9 +3717,9 @@ package body Sem_Ch6 is
|
||||||
|
|
||||||
if not Is_Frozen (Spec_Id)
|
if not Is_Frozen (Spec_Id)
|
||||||
and then (Expander_Active
|
and then (Expander_Active
|
||||||
or else ASIS_Mode
|
or else ASIS_Mode
|
||||||
or else (Operating_Mode = Check_Semantics
|
or else (Operating_Mode = Check_Semantics
|
||||||
and then Serious_Errors_Detected = 0))
|
and then Serious_Errors_Detected = 0))
|
||||||
then
|
then
|
||||||
-- The body generated for an expression function that is not a
|
-- The body generated for an expression function that is not a
|
||||||
-- completion is a freeze point neither for the profile nor for
|
-- completion is a freeze point neither for the profile nor for
|
||||||
|
|
|
||||||
|
|
@ -29548,7 +29548,7 @@ package body Sem_Prag is
|
||||||
Pragma_Linker_Constructor => -1,
|
Pragma_Linker_Constructor => -1,
|
||||||
Pragma_Linker_Destructor => -1,
|
Pragma_Linker_Destructor => -1,
|
||||||
Pragma_Linker_Options => -1,
|
Pragma_Linker_Options => -1,
|
||||||
Pragma_Linker_Section => 0,
|
Pragma_Linker_Section => -1,
|
||||||
Pragma_List => 0,
|
Pragma_List => 0,
|
||||||
Pragma_Lock_Free => 0,
|
Pragma_Lock_Free => 0,
|
||||||
Pragma_Locking_Policy => 0,
|
Pragma_Locking_Policy => 0,
|
||||||
|
|
|
||||||
|
|
@ -11467,8 +11467,8 @@ package body Sem_Res is
|
||||||
S : constant Entity_Id := Current_Scope_No_Loops;
|
S : constant Entity_Id := Current_Scope_No_Loops;
|
||||||
begin
|
begin
|
||||||
if Ekind (S) = E_Function
|
if Ekind (S) = E_Function
|
||||||
and then Nkind (Original_Node (Unit_Declaration_Node (S)))
|
and then Nkind (Original_Node (Unit_Declaration_Node (S))) =
|
||||||
= N_Expression_Function
|
N_Expression_Function
|
||||||
then
|
then
|
||||||
return;
|
return;
|
||||||
end if;
|
end if;
|
||||||
|
|
|
||||||
|
|
@ -7922,7 +7922,7 @@ package body Sem_Util is
|
||||||
|
|
||||||
Context := Scope (Item_Id);
|
Context := Scope (Item_Id);
|
||||||
while Present (Context) and then Context /= Standard_Standard loop
|
while Present (Context) and then Context /= Standard_Standard loop
|
||||||
if Ekind (Context) = E_Package then
|
if Is_Package_Or_Generic_Package (Context) then
|
||||||
Pack_Id := Context;
|
Pack_Id := Context;
|
||||||
|
|
||||||
-- A package body is a cut off point for the traversal as the item
|
-- A package body is a cut off point for the traversal as the item
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue