diff options
Diffstat (limited to 'gcc/ada/tbuild.adb')
-rw-r--r-- | gcc/ada/tbuild.adb | 67 |
1 files changed, 24 insertions, 43 deletions
diff --git a/gcc/ada/tbuild.adb b/gcc/ada/tbuild.adb index 00131e7c06b..60242a5e8c2 100644 --- a/gcc/ada/tbuild.adb +++ b/gcc/ada/tbuild.adb @@ -113,7 +113,6 @@ package body Tbuild is procedure Discard_List (L : List_Id) is pragma Warnings (Off, L); - begin null; end Discard_List; @@ -124,7 +123,6 @@ package body Tbuild is procedure Discard_Node (N : Node_Or_Entity_Id) is pragma Warnings (Off, N); - begin null; end Discard_Node; @@ -157,10 +155,9 @@ package body Tbuild is -------------------- function Make_DT_Access - (Loc : Source_Ptr; - Rec : Node_Id; - Typ : Entity_Id) - return Node_Id + (Loc : Source_Ptr; + Rec : Node_Id; + Typ : Entity_Id) return Node_Id is Full_Type : Entity_Id := Typ; @@ -183,10 +180,9 @@ package body Tbuild is ----------------------- function Make_DT_Component - (Loc : Source_Ptr; - Typ : Entity_Id; - I : Positive) - return Node_Id + (Loc : Source_Ptr; + Typ : Entity_Id; + I : Positive) return Node_Id is X : Node_Id; Full_Type : Entity_Id := Typ; @@ -215,8 +211,7 @@ package body Tbuild is Condition : Node_Id; Then_Statements : List_Id; Elsif_Parts : List_Id := No_List; - Else_Statements : List_Id := No_List) - return Node_Id + Else_Statements : List_Id := No_List) return Node_Id is begin Check_Restriction (No_Implicit_Conditionals, Node); @@ -234,8 +229,7 @@ package body Tbuild is function Make_Implicit_Label_Declaration (Loc : Source_Ptr; Defining_Identifier : Node_Id; - Label_Construct : Node_Id) - return Node_Id + Label_Construct : Node_Id) return Node_Id is N : constant Node_Id := Make_Implicit_Label_Declaration (Loc, Defining_Identifier); @@ -255,8 +249,7 @@ package body Tbuild is Identifier : Node_Id := Empty; Iteration_Scheme : Node_Id := Empty; Has_Created_Identifier : Boolean := False; - End_Label : Node_Id := Empty) - return Node_Id + End_Label : Node_Id := Empty) return Node_Id is begin Check_Restriction (No_Implicit_Loops, Node); @@ -281,8 +274,7 @@ package body Tbuild is function Make_Integer_Literal (Loc : Source_Ptr; - Intval : Int) - return Node_Id + Intval : Int) return Node_Id is begin return Make_Integer_Literal (Loc, UI_From_Int (Intval)); @@ -295,8 +287,7 @@ package body Tbuild is function Make_Raise_Constraint_Error (Sloc : Source_Ptr; Condition : Node_Id := Empty; - Reason : RT_Exception_Code) - return Node_Id + Reason : RT_Exception_Code) return Node_Id is begin pragma Assert (Reason in RT_CE_Exceptions); @@ -314,8 +305,7 @@ package body Tbuild is function Make_Raise_Program_Error (Sloc : Source_Ptr; Condition : Node_Id := Empty; - Reason : RT_Exception_Code) - return Node_Id + Reason : RT_Exception_Code) return Node_Id is begin pragma Assert (Reason in RT_PE_Exceptions); @@ -333,8 +323,7 @@ package body Tbuild is function Make_Raise_Storage_Error (Sloc : Source_Ptr; Condition : Node_Id := Empty; - Reason : RT_Exception_Code) - return Node_Id + Reason : RT_Exception_Code) return Node_Id is begin pragma Assert (Reason in RT_SE_Exceptions); @@ -360,8 +349,7 @@ package body Tbuild is function Make_Unsuppress_Block (Loc : Source_Ptr; Check : Name_Id; - Stmts : List_Id) - return Node_Id + Stmts : List_Id) return Node_Id is begin return @@ -403,8 +391,7 @@ package body Tbuild is (Related_Id : Name_Id; Suffix : Character := ' '; Suffix_Index : Int := 0; - Prefix : Character := ' ') - return Name_Id + Prefix : Character := ' ') return Name_Id is begin Get_Name_String (Related_Id); @@ -441,8 +428,7 @@ package body Tbuild is (Related_Id : Name_Id; Suffix : String; Suffix_Index : Int := 0; - Prefix : Character := ' ') - return Name_Id + Prefix : Character := ' ') return Name_Id is begin Get_Name_String (Related_Id); @@ -476,8 +462,7 @@ package body Tbuild is function New_External_Name (Suffix : Character; - Suffix_Index : Nat) - return Name_Id + Suffix_Index : Nat) return Name_Id is begin Name_Buffer (1) := Suffix; @@ -505,8 +490,7 @@ package body Tbuild is function New_Occurrence_Of (Def_Id : Entity_Id; - Loc : Source_Ptr) - return Node_Id + Loc : Source_Ptr) return Node_Id is Occurrence : Node_Id; @@ -530,8 +514,7 @@ package body Tbuild is function New_Reference_To (Def_Id : Entity_Id; - Loc : Source_Ptr) - return Node_Id + Loc : Source_Ptr) return Node_Id is Occurrence : Node_Id; @@ -548,8 +531,7 @@ package body Tbuild is function New_Suffixed_Name (Related_Id : Name_Id; - Suffix : String) - return Name_Id + Suffix : String) return Name_Id is begin Get_Name_String (Related_Id); @@ -566,7 +548,6 @@ package body Tbuild is function OK_Convert_To (Typ : Entity_Id; Expr : Node_Id) return Node_Id is Result : Node_Id; - begin Result := Make_Type_Conversion (Sloc (Expr), @@ -583,8 +564,7 @@ package body Tbuild is function Unchecked_Convert_To (Typ : Entity_Id; - Expr : Node_Id) - return Node_Id + Expr : Node_Id) return Node_Id is Loc : constant Source_Ptr := Sloc (Expr); Result : Node_Id; @@ -607,8 +587,9 @@ package body Tbuild is then Result := Relocate_Node (Expr); - elsif Nkind (Expr) = N_Null then - + elsif Nkind (Expr) = N_Null + and then Is_Access_Type (Typ) + then -- No need for a conversion Result := Relocate_Node (Expr); |