diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-08-01 12:11:16 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-08-01 12:11:16 +0200 |
commit | 798595680bb04dc570d2d6a46322c35c0de3e482 (patch) | |
tree | b1cfe6c1959226b884c158d9f1557fc69342eefc /gcc/ada | |
parent | 3fe5ceadbbeb824a498db96fc7ee40faed0b45f3 (diff) | |
download | gcc-798595680bb04dc570d2d6a46322c35c0de3e482.zip gcc-798595680bb04dc570d2d6a46322c35c0de3e482.tar.gz gcc-798595680bb04dc570d2d6a46322c35c0de3e482.tar.bz2 |
[multiple changes]
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb (Is_Hidden_Non_Overridden_Subprogram): Remove the
assertion check as the attribute is defined for all entities.
(Set_Is_Hidden_Non_Overridden_Subprogram): Remove the assertion
check as the attribute is defined for all entities.
* einfo.ads Update the documentation of attribute
Is_Hidden_Non_Overridden_Subprogram.
* sem_ch7.adb (Install_Package_Entity): No need to check the
entity kind of the Id.
* sem_ch13.adb (Hide_Matching_Homograph): Update the comment on
usage. Ensure that the homographs are of the same entity kind
and not fully conformant.
(Hide_Non_Overridden_Subprograms): Update the comment on usage.
2014-08-01 Robert Dewar <dewar@adacore.com>
* inline.adb: Minor code reorganization.
* sem_ch12.adb, s-tasdeb.ads: Minor reformatting.
From-SVN: r213445
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 20 | ||||
-rw-r--r-- | gcc/ada/einfo.adb | 2 | ||||
-rw-r--r-- | gcc/ada/einfo.ads | 6 | ||||
-rw-r--r-- | gcc/ada/inline.adb | 9 | ||||
-rw-r--r-- | gcc/ada/s-tasdeb.ads | 8 | ||||
-rw-r--r-- | gcc/ada/sem_ch12.adb | 9 | ||||
-rw-r--r-- | gcc/ada/sem_ch13.adb | 20 | ||||
-rw-r--r-- | gcc/ada/sem_ch7.adb | 4 |
8 files changed, 47 insertions, 31 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index cd23166..444d4f7 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,23 @@ +2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> + + * einfo.adb (Is_Hidden_Non_Overridden_Subprogram): Remove the + assertion check as the attribute is defined for all entities. + (Set_Is_Hidden_Non_Overridden_Subprogram): Remove the assertion + check as the attribute is defined for all entities. + * einfo.ads Update the documentation of attribute + Is_Hidden_Non_Overridden_Subprogram. + * sem_ch7.adb (Install_Package_Entity): No need to check the + entity kind of the Id. + * sem_ch13.adb (Hide_Matching_Homograph): Update the comment on + usage. Ensure that the homographs are of the same entity kind + and not fully conformant. + (Hide_Non_Overridden_Subprograms): Update the comment on usage. + +2014-08-01 Robert Dewar <dewar@adacore.com> + + * inline.adb: Minor code reorganization. + * sem_ch12.adb, s-tasdeb.ads: Minor reformatting. + 2014-08-01 Robert Dewar <dewar@adacore.com> * inline.adb, s-os_lib.ads: Minor reformatting. diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb index 7e0eaaa..3b5219b 100644 --- a/gcc/ada/einfo.adb +++ b/gcc/ada/einfo.adb @@ -2068,7 +2068,6 @@ package body Einfo is function Is_Hidden_Non_Overridden_Subprogram (Id : E) return B is begin - pragma Assert (Ekind_In (Id, E_Function, E_Procedure)); return Flag2 (Id); end Is_Hidden_Non_Overridden_Subprogram; @@ -4850,7 +4849,6 @@ package body Einfo is procedure Set_Is_Hidden_Non_Overridden_Subprogram (Id : E; V : B := True) is begin - pragma Assert (Ekind_In (Id, E_Function, E_Procedure)); Set_Flag2 (Id, V); end Set_Is_Hidden_Non_Overridden_Subprogram; diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads index 11f6122..18de39f 100644 --- a/gcc/ada/einfo.ads +++ b/gcc/ada/einfo.ads @@ -2423,9 +2423,9 @@ package Einfo is -- Private_Declaration in sem_ch7). -- Is_Hidden_Non_Overridden_Subprogram (Flag2) --- Defined in all entities. Set for implicitly declared non-generic --- subprograms that require overriding or are null procedures, and are --- hidden by a non-conformant homograph with the same characteristics +-- Defined in all entities. Set for implicitly declared subprograms +-- that require overriding or are null procedures, and are hidden by +-- a non-fully conformant homograph with the same characteristics -- (Ada RM 8.3 12.3/2). -- Is_Hidden_Open_Scope (Flag171) diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb index 36631c2..c2865ea 100644 --- a/gcc/ada/inline.adb +++ b/gcc/ada/inline.adb @@ -1239,11 +1239,10 @@ package body Inline is and then Msg (Msg'First .. Msg'First + 12) = "cannot inline" then declare - Len1 : constant Positive := 13; - -- Length of "cannot inline" - - Len2 : constant Positive := 31; - -- Length of "info: no contextual analysis of" + Len1 : constant Positive := + String (String'("cannot inline"))'Length; + Len2 : constant Positive := + String (String'("info: no contextual analysis of"))'Length; New_Msg : String (1 .. Msg'Length + Len2 - Len1); diff --git a/gcc/ada/s-tasdeb.ads b/gcc/ada/s-tasdeb.ads index 4302fde..e0bd0c1 100644 --- a/gcc/ada/s-tasdeb.ads +++ b/gcc/ada/s-tasdeb.ads @@ -153,13 +153,13 @@ package System.Tasking.Debug is (Dependent : Task_Id; Parent : Task_Id; Master_Level : Integer); - -- Indicate to Valgrind/Helgrind that the master of Dependent - -- is Parent + Master_Level. + -- Indicate to Valgrind/Helgrind that the master of Dependent is + -- Parent + Master_Level. procedure Master_Completed_Hook (Self_ID : Task_Id; Master_Level : Integer); - -- Indicate to Valgrind/Helgrind that Self_ID has completed - -- the master Master_Level. + -- Indicate to Valgrind/Helgrind that Self_ID has completed the master + -- Master_Level. end System.Tasking.Debug; diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb index 3c78376..6bcc3a1 100644 --- a/gcc/ada/sem_ch12.adb +++ b/gcc/ada/sem_ch12.adb @@ -1674,10 +1674,9 @@ package body Sem_Ch12 is Present (Get_First_Parent_With_Ext_Axioms_For_Entity (Defining_Entity (Analyzed_Formal))) - and then Ekind (Defining_Entity (Analyzed_Formal)) - = E_Function + and then Ekind (Defining_Entity (Analyzed_Formal)) = + E_Function then - -- If actual is an entity (function or operator), -- build wrapper for it. @@ -1700,8 +1699,8 @@ package body Sem_Ch12 is -- Ditto if formal is an operator with a default. elsif Box_Present (Formal) - and then Nkind (Defining_Entity (Analyzed_Formal)) - = N_Defining_Operator_Symbol + and then Nkind (Defining_Entity (Analyzed_Formal)) = + N_Defining_Operator_Symbol then Append_To (Assoc, Build_Wrapper diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index e0222b7..06d5752 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -9936,7 +9936,8 @@ package body Sem_Ch13 is procedure Freeze_Entity_Checks (N : Node_Id) is procedure Hide_Non_Overridden_Subprograms (Typ : Entity_Id); -- Inspect the primitive operations of type Typ and hide all pairs of - -- implicitly declared non-overridden homographs (Ada RM 8.3 12.3/2). + -- implicitly declared non-overridden non-fully conformant homographs + -- (Ada RM 8.3 12.3/2). ------------------------------------- -- Hide_Non_Overridden_Subprograms -- @@ -9947,9 +9948,9 @@ package body Sem_Ch13 is (Subp_Id : Entity_Id; Start_Elmt : Elmt_Id); -- Inspect a list of primitive operations starting with Start_Elmt - -- and find matching implicitly declared non-overridden homographs - -- of Subp_Id. If found, all matches along with Subp_Id are hidden - -- from all visibility. + -- and find matching implicitly declared non-overridden non-fully + -- conformant homographs of Subp_Id. If found, all matches along + -- with Subp_Id are hidden from all visibility. function Is_Non_Overridden_Or_Null_Procedure (Subp_Id : Entity_Id) return Boolean; @@ -9973,11 +9974,12 @@ package body Sem_Ch13 is Prim := Node (Prim_Elmt); -- The current primitive is implicitly declared non-overridden - -- homograph of Subp_Id. Hide both subprograms from visibility. + -- non-fully conformant homograph of Subp_Id. Both subprograms + -- must be hidden from visibility. if Chars (Prim) = Chars (Subp_Id) - and then Ekind (Prim) = Ekind (Subp_Id) and then Is_Non_Overridden_Or_Null_Procedure (Prim) + and then not Fully_Conformant (Prim, Subp_Id) then Set_Is_Hidden_Non_Overridden_Subprogram (Prim); Set_Is_Immediately_Visible (Prim, False); @@ -10034,8 +10036,8 @@ package body Sem_Ch13 is -- Start of processing for Hide_Non_Overridden_Subprograms begin - -- Inspect the list of primitives looking for a non-overriding - -- inherited null procedure. + -- Inspect the list of primitives looking for non-overridden + -- subprograms. if Present (Prim_Ops) then Prim_Elmt := First_Elmt (Prim_Ops); @@ -10106,7 +10108,7 @@ package body Sem_Ch13 is -- abstract subprograms, null procedures and subprograms that require -- overriding. If this set contains fully conformat homographs, then one -- is chosen arbitrarily (already done during resolution), otherwise all - -- remaining non-conformant homographs must be hidden from visibility + -- remaining non-fully conformant homographs are hidden from visibility -- (Ada RM 8.3 12.3/2). if Is_Tagged_Type (E) then diff --git a/gcc/ada/sem_ch7.adb b/gcc/ada/sem_ch7.adb index 28a8516a..5f110ec 100644 --- a/gcc/ada/sem_ch7.adb +++ b/gcc/ada/sem_ch7.adb @@ -1986,9 +1986,7 @@ package body Sem_Ch7 is -- a tagged type back into visibility if they have non-conformant -- homographs (Ada RM 8.3 12.3/2). - elsif Ekind_In (Id, E_Function, E_Procedure) - and then Is_Hidden_Non_Overridden_Subprogram (Id) - then + elsif Is_Hidden_Non_Overridden_Subprogram (Id) then null; else |