From 9fe696a3b387562aceca53cdf20f46e3bfe0d2b4 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Tue, 20 Oct 2015 14:29:00 +0200 Subject: [PATCH] [multiple changes] 2015-10-20 Bob Duff * s-mudido-affinity.adb (Create): Correct subranges of slices of CPU arrays. 2015-10-20 Arnaud Charlet * sinfo.ads, g-pehage.adb, par-ch12.adb, layout.adb, exp_util.adb, sem_aux.adb, make.adb, checks.adb, sem_ch12.adb, sem_res.adb, sem_attr.adb, a-ngelfu.adb, sem_ch4.adb, switch-b.adb, sem_ch6.adb, prj-dect.adb, gnatxref.adb, sem_ch13.adb, lib-xref.adb: Fix typos. 2015-10-20 Tristan Gingold * exp_ch4.adb (Expand_Array_Comparison): Use generic code if runtime routine is not available. From-SVN: r229071 --- gcc/ada/ChangeLog | 18 ++++++++++ gcc/ada/a-ngelfu.adb | 8 ++--- gcc/ada/checks.adb | 2 +- gcc/ada/exp_ch4.adb | 58 ++++++++++++++++--------------- gcc/ada/exp_util.adb | 2 +- gcc/ada/g-pehage.adb | 4 +-- gcc/ada/gnatxref.adb | 20 +++++------ gcc/ada/layout.adb | 2 +- gcc/ada/lib-xref.adb | 2 +- gcc/ada/make.adb | 23 ++++++------ gcc/ada/par-ch12.adb | 6 ++-- gcc/ada/prj-dect.adb | 2 +- gcc/ada/s-mudido-affinity.adb | 81 ++++++++++++++++++++++++------------------- gcc/ada/sem_attr.adb | 2 +- gcc/ada/sem_aux.adb | 2 +- gcc/ada/sem_ch12.adb | 2 +- gcc/ada/sem_ch13.adb | 2 +- gcc/ada/sem_ch4.adb | 2 +- gcc/ada/sem_ch6.adb | 2 +- gcc/ada/sem_res.adb | 4 +-- gcc/ada/sinfo.ads | 4 +-- gcc/ada/switch-b.adb | 17 ++++----- 22 files changed, 148 insertions(+), 117 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e983e4c..93dae23 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,21 @@ +2015-10-20 Bob Duff + + * s-mudido-affinity.adb (Create): Correct subranges of slices of CPU + arrays. + +2015-10-20 Arnaud Charlet + + * sinfo.ads, g-pehage.adb, par-ch12.adb, + layout.adb, exp_util.adb, sem_aux.adb, make.adb, checks.adb, + sem_ch12.adb, sem_res.adb, sem_attr.adb, a-ngelfu.adb, sem_ch4.adb, + switch-b.adb, sem_ch6.adb, prj-dect.adb, gnatxref.adb, sem_ch13.adb, + lib-xref.adb: Fix typos. + +2015-10-20 Tristan Gingold + + * exp_ch4.adb (Expand_Array_Comparison): Use + generic code if runtime routine is not available. + 2015-10-20 Yannick Moy * a-sytaco.ads (Ada.Synchronous_Task_Control): Package diff --git a/gcc/ada/a-ngelfu.adb b/gcc/ada/a-ngelfu.adb index f31f685..7546f75 100644 --- a/gcc/ada/a-ngelfu.adb +++ b/gcc/ada/a-ngelfu.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2014, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2015, 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- -- @@ -247,7 +247,7 @@ package body Ada.Numerics.Generic_Elementary_Functions is elsif X < 1.0 + Sqrt_Epsilon then return Sqrt (2.0 * (X - 1.0)); - elsif X > 1.0 / Sqrt_Epsilon then + elsif X > 1.0 / Sqrt_Epsilon then return Log (X) + Log_Two; else @@ -540,7 +540,7 @@ package body Ada.Numerics.Generic_Elementary_Functions is if Y < Sqrt_Epsilon then return 1.0; - elsif Y > Log_Inverse_Epsilon then + elsif Y > Log_Inverse_Epsilon then Z := Exp_Strict (Y - Lnv); return (Z + V2minus1 * Z); @@ -832,7 +832,7 @@ package body Ada.Numerics.Generic_Elementary_Functions is if Y < Sqrt_Epsilon then return X; - elsif Y > Log_Inverse_Epsilon then + elsif Y > Log_Inverse_Epsilon then Z := Exp_Strict (Y - Lnv); Z := Z + V2minus1 * Z; diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb index 8703bf7..f992aa2 100644 --- a/gcc/ada/checks.adb +++ b/gcc/ada/checks.adb @@ -9172,7 +9172,7 @@ package body Checks is (Compile_Time_Constraint_Error (Wnode, "too few elements for}??", T_Typ)); - elsif L_Length < R_Length then + elsif L_Length < R_Length then Add_Check (Compile_Time_Constraint_Error (Wnode, "too many elements for}??", T_Typ)); diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index 8cfcb66..0e789f2 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -1533,37 +1533,43 @@ package body Exp_Ch4 is end if; end if; - Remove_Side_Effects (Op1, Name_Req => True); - Remove_Side_Effects (Op2, Name_Req => True); + if RTE_Available (Comp) then - Rewrite (Op1, - Make_Function_Call (Sloc (Op1), - Name => New_Occurrence_Of (RTE (Comp), Loc), + -- Expand to a call only if the runtime function is available, + -- otherwise fallback to inline code. - Parameter_Associations => New_List ( - Make_Attribute_Reference (Loc, - Prefix => Relocate_Node (Op1), - Attribute_Name => Name_Address), + Remove_Side_Effects (Op1, Name_Req => True); + Remove_Side_Effects (Op2, Name_Req => True); - Make_Attribute_Reference (Loc, - Prefix => Relocate_Node (Op2), - Attribute_Name => Name_Address), + Rewrite (Op1, + Make_Function_Call (Sloc (Op1), + Name => New_Occurrence_Of (RTE (Comp), Loc), - Make_Attribute_Reference (Loc, - Prefix => Relocate_Node (Op1), - Attribute_Name => Name_Length), + Parameter_Associations => New_List ( + Make_Attribute_Reference (Loc, + Prefix => Relocate_Node (Op1), + Attribute_Name => Name_Address), - Make_Attribute_Reference (Loc, - Prefix => Relocate_Node (Op2), - Attribute_Name => Name_Length)))); + Make_Attribute_Reference (Loc, + Prefix => Relocate_Node (Op2), + Attribute_Name => Name_Address), - Rewrite (Op2, - Make_Integer_Literal (Sloc (Op2), - Intval => Uint_0)); + Make_Attribute_Reference (Loc, + Prefix => Relocate_Node (Op1), + Attribute_Name => Name_Length), - Analyze_And_Resolve (Op1, Standard_Integer); - Analyze_And_Resolve (Op2, Standard_Integer); - return; + Make_Attribute_Reference (Loc, + Prefix => Relocate_Node (Op2), + Attribute_Name => Name_Length)))); + + Rewrite (Op2, + Make_Integer_Literal (Sloc (Op2), + Intval => Uint_0)); + + Analyze_And_Resolve (Op1, Standard_Integer); + Analyze_And_Resolve (Op2, Standard_Integer); + return; + end if; end if; -- Cases where we cannot make runtime call @@ -1620,10 +1626,6 @@ package body Exp_Ch4 is Insert_Action (N, Func_Body); Rewrite (N, Expr); Analyze_And_Resolve (N, Standard_Boolean); - - exception - when RE_Not_Available => - return; end Expand_Array_Comparison; --------------------------- diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb index fa8d17f..790556fd 100644 --- a/gcc/ada/exp_util.adb +++ b/gcc/ada/exp_util.adb @@ -4184,7 +4184,7 @@ package body Exp_Util is when N_Raise_xxx_Error => if Etype (P) = Standard_Void_Type then - if P = Wrapped_Node then + if P = Wrapped_Node then Store_Before_Actions_In_Scope (Ins_Actions); else Insert_List_Before_And_Analyze (P, Ins_Actions); diff --git a/gcc/ada/g-pehage.adb b/gcc/ada/g-pehage.adb index ce2428d..8137011 100644 --- a/gcc/ada/g-pehage.adb +++ b/gcc/ada/g-pehage.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2002-2011, AdaCore -- +-- Copyright (C) 2002-2015, AdaCore -- -- -- -- 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- -- @@ -2586,7 +2586,7 @@ package body GNAT.Perfect_Hash_Generators is when Function_Table_1 => return Get_Table (T1, J, K); - when Function_Table_2 => + when Function_Table_2 => return Get_Table (T2, J, K); when Graph_Table => diff --git a/gcc/ada/gnatxref.adb b/gcc/ada/gnatxref.adb index 1611ed9..7d2ec9c 100644 --- a/gcc/ada/gnatxref.adb +++ b/gcc/ada/gnatxref.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1998-2014, Free Software Foundation, Inc. -- +-- Copyright (C) 1998-2015, 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- -- @@ -176,16 +176,17 @@ procedure Gnatxref is elsif Src_Path_Name = null and then Lib_Path_Name = null then - Osint.Fail ("RTS path not valid: missing " & - "adainclude and adalib directories"); + Osint.Fail + ("RTS path not valid: missing adainclude and " + & "adalib directories"); elsif Src_Path_Name = null then - Osint.Fail ("RTS path not valid: missing " & - "adainclude directory"); + Osint.Fail + ("RTS path not valid: missing adainclude directory"); - elsif Lib_Path_Name = null then - Osint.Fail ("RTS path not valid: missing " & - "adalib directory"); + elsif Lib_Path_Name = null then + Osint.Fail + ("RTS path not valid: missing adalib directory"); end if; end; @@ -200,8 +201,7 @@ procedure Gnatxref is Osint.Fail ("--ext cannot be specified multiple times"); end if; - if EXT_Specified'Length - = Osint.ALI_Default_Suffix'Length + if EXT_Specified'Length = Osint.ALI_Default_Suffix'Length then Osint.ALI_Suffix := EXT_Specified.all'Access; else diff --git a/gcc/ada/layout.adb b/gcc/ada/layout.adb index 0c7a777..ecdbbac 100644 --- a/gcc/ada/layout.adb +++ b/gcc/ada/layout.adb @@ -3412,7 +3412,7 @@ package body Layout is -- type is the partial or full view, so that types will always -- match on calls from one size function to another. - if Has_Private_Declaration (Vtype) then + if Has_Private_Declaration (Vtype) then Vtype_Primary_View := Etype (Vtype); else Vtype_Primary_View := Vtype; diff --git a/gcc/ada/lib-xref.adb b/gcc/ada/lib-xref.adb index 2ebdb14..b6c9a0e 100644 --- a/gcc/ada/lib-xref.adb +++ b/gcc/ada/lib-xref.adb @@ -2491,7 +2491,7 @@ package body Lib.Xref is -- Write out information about generic parent, if entity -- is an instance. - if Is_Generic_Instance (XE.Key.Ent) then + if Is_Generic_Instance (XE.Key.Ent) then declare Gen_Par : constant Entity_Id := Generic_Parent diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb index e368a9f..8fbca9d 100644 --- a/gcc/ada/make.adb +++ b/gcc/ada/make.adb @@ -7584,29 +7584,28 @@ package body Make is elsif Src_Path_Name = null and then Lib_Path_Name = null then - Make_Failed ("RTS path not valid: missing " - & "adainclude and adalib directories"); + Make_Failed + ("RTS path not valid: missing adainclude and adalib " + & "directories"); elsif Src_Path_Name = null then - Make_Failed ("RTS path not valid: missing adainclude " - & "directory"); + Make_Failed + ("RTS path not valid: missing adainclude directory"); - elsif Lib_Path_Name = null then - Make_Failed ("RTS path not valid: missing adalib " - & "directory"); + elsif Lib_Path_Name = null then + Make_Failed + ("RTS path not valid: missing adalib directory"); end if; end; end if; - elsif Argv'Length > Source_Info_Option'Length and then - Argv (1 .. Source_Info_Option'Length) = Source_Info_Option + elsif Argv'Length > Source_Info_Option'Length + and then Argv (1 .. Source_Info_Option'Length) = Source_Info_Option then Project_Tree.Source_Info_File_Name := new String'(Argv (Source_Info_Option'Length + 1 .. Argv'Last)); - elsif Argv'Length >= 8 and then - Argv (1 .. 8) = "--param=" - then + elsif Argv'Length >= 8 and then Argv (1 .. 8) = "--param=" then Add_Switch (Argv, Compiler, And_Save => And_Save); Add_Switch (Argv, Linker, And_Save => And_Save); diff --git a/gcc/ada/par-ch12.adb b/gcc/ada/par-ch12.adb index 39169e1..a103d96 100644 --- a/gcc/ada/par-ch12.adb +++ b/gcc/ada/par-ch12.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2014, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2015, 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- -- @@ -736,10 +736,10 @@ package body Ch12 is return Error; end if; - when Tok_Private => + when Tok_Private => return P_Formal_Private_Type_Definition; - when Tok_Tagged => + when Tok_Tagged => if Next_Token_Is (Tok_Semicolon) then Typedef_Node := New_Node (N_Formal_Incomplete_Type_Definition, Token_Ptr); diff --git a/gcc/ada/prj-dect.adb b/gcc/ada/prj-dect.adb index 461bd87..204e577 100644 --- a/gcc/ada/prj-dect.adb +++ b/gcc/ada/prj-dect.adb @@ -735,7 +735,7 @@ package body Prj.Dect is and then Variable_Kind_Of (Current_Attribute) /= Expression_Kind_Of (Expression, In_Tree) then - if Variable_Kind_Of (Current_Attribute) = Undefined then + if Variable_Kind_Of (Current_Attribute) = Undefined then Set_Variable_Kind_Of (Current_Attribute, To => Expression_Kind_Of (Expression, In_Tree)); diff --git a/gcc/ada/s-mudido-affinity.adb b/gcc/ada/s-mudido-affinity.adb index 05e2771..df3b4a8 100644 --- a/gcc/ada/s-mudido-affinity.adb +++ b/gcc/ada/s-mudido-affinity.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2011-2014, Free Software Foundation, Inc. -- +-- Copyright (C) 2011-2015, Free Software Foundation, Inc. -- -- -- -- GNARL 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- -- @@ -119,11 +119,11 @@ package body System.Multiprocessors.Dispatching_Domains is end Create; function Create (Set : CPU_Set) return Dispatching_Domain is - ST_DD : aliased constant ST.Dispatching_Domain - := ST.Dispatching_Domain (Set); - subtype Rng is CPU_Range range - Get_First_CPU (ST_DD'Unrestricted_Access) .. - Get_Last_CPU (ST_DD'Unrestricted_Access); + ST_DD : aliased constant ST.Dispatching_Domain := + ST.Dispatching_Domain (Set); + First : constant CPU := Get_First_CPU (ST_DD'Unrestricted_Access); + Last : constant CPU_Range := Get_Last_CPU (ST_DD'Unrestricted_Access); + subtype Rng is CPU_Range range First .. Last; use type ST.Dispatching_Domain; use type ST.Dispatching_Domain_Access; @@ -134,7 +134,7 @@ package body System.Multiprocessors.Dispatching_Domains is New_System_Domain : ST.Dispatching_Domain := ST.System_Domain.all; - New_Domain : Dispatching_Domain; + ST_DD_Slice : constant ST.Dispatching_Domain := ST_DD (Rng); begin -- The set of processors for creating a dispatching domain must @@ -152,16 +152,27 @@ package body System.Multiprocessors.Dispatching_Domains is if Rng'Last > Number_Of_CPUs then raise Dispatching_Domain_Error with "CPU not supported by the target"; + end if; - elsif (ST_DD and not ST.System_Domain (Rng)) /= (Rng => False) then - raise Dispatching_Domain_Error with - "CPU not currently in System_Dispatching_Domain"; + declare + System_Domain_Slice : constant ST.Dispatching_Domain := + ST.System_Domain (Rng); + Actual : constant ST.Dispatching_Domain := + ST_DD_Slice and not System_Domain_Slice; + Expected : constant ST.Dispatching_Domain := (Rng => False); + begin + if Actual /= Expected then + raise Dispatching_Domain_Error with + "CPU not currently in System_Dispatching_Domain"; + end if; + end; - elsif Self /= Environment_Task then + if Self /= Environment_Task then raise Dispatching_Domain_Error with "only the environment task can create dispatching domains"; + end if; - elsif ST.Dispatching_Domains_Frozen then + if ST.Dispatching_Domains_Frozen then raise Dispatching_Domain_Error with "cannot create dispatching domain after call to main procedure"; end if; @@ -174,44 +185,44 @@ package body System.Multiprocessors.Dispatching_Domains is end if; end loop; - New_System_Domain (Rng) := New_System_Domain (Rng) and not ST_DD; + New_System_Domain (Rng) := New_System_Domain (Rng) and not ST_DD_Slice; if New_System_Domain = (New_System_Domain'Range => False) then raise Dispatching_Domain_Error with "would leave System_Dispatching_Domain empty"; end if; - New_Domain := new ST.Dispatching_Domain'(ST_DD); - - -- At this point we need to fix the processors belonging to the system - -- domain, and change the affinity of every task that has been created - -- and assigned to the system domain. - - ST.Initialization.Defer_Abort (Self); + return Result : constant Dispatching_Domain := + new ST.Dispatching_Domain'(ST_DD_Slice) + do + -- At this point we need to fix the processors belonging to the + -- system domain, and change the affinity of every task that has + -- been created and assigned to the system domain. - Lock_RTS; + ST.Initialization.Defer_Abort (Self); - ST.System_Domain (Rng) := New_System_Domain (Rng); - pragma Assert (ST.System_Domain.all = New_System_Domain); + Lock_RTS; - -- Iterate the list of tasks belonging to the default system - -- dispatching domain and set the appropriate affinity. + ST.System_Domain (Rng) := New_System_Domain (Rng); + pragma Assert (ST.System_Domain.all = New_System_Domain); - T := ST.All_Tasks_List; + -- Iterate the list of tasks belonging to the default system + -- dispatching domain and set the appropriate affinity. - while T /= null loop - if T.Common.Domain = ST.System_Domain then - Set_Task_Affinity (T); - end if; + T := ST.All_Tasks_List; - T := T.Common.All_Tasks_Link; - end loop; + while T /= null loop + if T.Common.Domain = ST.System_Domain then + Set_Task_Affinity (T); + end if; - Unlock_RTS; + T := T.Common.All_Tasks_Link; + end loop; - ST.Initialization.Undefer_Abort (Self); + Unlock_RTS; - return New_Domain; + ST.Initialization.Undefer_Abort (Self); + end return; end Create; ----------------------------- diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 4d6bf7c..5be1b39 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -1531,7 +1531,7 @@ package body Sem_Attr is ("expression for dimension must be static!", E1); Error_Attr; - elsif UI_To_Int (Expr_Value (E1)) > D + elsif UI_To_Int (Expr_Value (E1)) > D or else UI_To_Int (Expr_Value (E1)) < 1 then Error_Attr ("invalid dimension number for array type", E1); diff --git a/gcc/ada/sem_aux.adb b/gcc/ada/sem_aux.adb index 136c37b8..ea83e83 100644 --- a/gcc/ada/sem_aux.adb +++ b/gcc/ada/sem_aux.adb @@ -291,7 +291,7 @@ package body Sem_Aux is if Is_Itype (Ent) then null; - elsif Ekind (Ent) = E_Discriminant + elsif Ekind (Ent) = E_Discriminant and then Is_Completely_Hidden (Ent) then return True; diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb index 18e3e38..da3bd90 100644 --- a/gcc/ada/sem_ch12.adb +++ b/gcc/ada/sem_ch12.adb @@ -5842,7 +5842,7 @@ package body Sem_Ch12 is return False; elsif Is_Entity_Name (Constant_Value (Ent)) then - if Entity (Constant_Value (Ent)) = E1 then + if Entity (Constant_Value (Ent)) = E1 then return True; else Ent := Entity (Constant_Value (Ent)); diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index f3fd5f4..75c1f3b 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -3846,7 +3846,7 @@ package body Sem_Ch13 is -- the type of the formal match, or one is the class-wide of the -- other, in the case of a class-wide stream operation. - if Base_Type (Typ) = Base_Type (Ent) + if Base_Type (Typ) = Base_Type (Ent) or else (Is_Class_Wide_Type (Typ) and then Typ = Class_Wide_Type (Base_Type (Ent))) or else (Is_Class_Wide_Type (Ent) diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index ebd9a8f..fe67754 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -3695,7 +3695,7 @@ package body Sem_Ch4 is if Is_Class_Wide_Type (T) then if not Is_Overloaded (Expr) then - if Base_Type (Etype (Expr)) /= Base_Type (T) then + if Base_Type (Etype (Expr)) /= Base_Type (T) then if Nkind (Expr) = N_Aggregate then Error_Msg_N ("type of aggregate cannot be class-wide", Expr); else diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index f626ea4..609babc 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -1038,7 +1038,7 @@ package body Sem_Ch6 is -- inside of the subprogram (except if it is the subtype indication -- of an extended return statement). - elsif Ekind (R_Type) = E_Anonymous_Access_Subprogram_Type then + elsif Ekind (R_Type) = E_Anonymous_Access_Subprogram_Type then if not Comes_From_Source (Current_Scope) or else Ekind (Current_Scope) = E_Return_Statement then diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index 479b5c5..5eb4705 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -2385,7 +2385,7 @@ package body Sem_Res is -- operators, which are not declared with the type -- of the operand, but appear forever in Standard. - if It.Typ = Universal_Fixed + if It.Typ = Universal_Fixed and then Scope (It.Nam) = Standard_Standard then Error_Msg_N @@ -7564,7 +7564,7 @@ package body Sem_Res is begin New_Actuals := New_List (Obj); - if Nkind (Entry_Name) = N_Indexed_Component then + if Nkind (Entry_Name) = N_Indexed_Component then Append_To (New_Actuals, New_Copy_Tree (First (Expressions (Entry_Name)))); end if; diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads index ab610c3..8312367 100644 --- a/gcc/ada/sinfo.ads +++ b/gcc/ada/sinfo.ads @@ -8021,8 +8021,8 @@ package Sinfo is -- SCIL_Controlling_Tag (Node5-Sem) -- -- An N_Scil_Dispatching call node may be associated (via Get_SCIL_Node) - -- with the N_Procedure_Call or N_Function_Call node (or a rewriting - -- thereof) corresponding to a dispatching call. + -- with the N_Procedure_Call_Statement or N_Function_Call node (or a + -- rewriting thereof) corresponding to a dispatching call. -- N_SCIL_Membership_Test -- Sloc references the node of a membership test diff --git a/gcc/ada/switch-b.adb b/gcc/ada/switch-b.adb index 2e58fbc..8e3806e 100644 --- a/gcc/ada/switch-b.adb +++ b/gcc/ada/switch-b.adb @@ -564,17 +564,18 @@ package body Switch.B is Ptr := Max + 1; - elsif Src_Path_Name = null + elsif Src_Path_Name = null and then Lib_Path_Name = null then - Osint.Fail ("RTS path not valid: missing " & - "adainclude and adalib directories"); + Osint.Fail + ("RTS path not valid: missing adainclude and " + & "adalib directories"); elsif Src_Path_Name = null then - Osint.Fail ("RTS path not valid: missing " & - "adainclude directory"); - elsif Lib_Path_Name = null then - Osint.Fail ("RTS path not valid: missing " & - "adalib directory"); + Osint.Fail + ("RTS path not valid: missing adainclude directory"); + elsif Lib_Path_Name = null then + Osint.Fail + ("RTS path not valid: missing adalib directory"); end if; end; end if; -- 2.7.4