https://gcc.gnu.org/g:53b1b9b0e2f80687aad0019221a6ba2010bc789c

commit r17-857-g53b1b9b0e2f80687aad0019221a6ba2010bc789c
Author: Bob Duff <[email protected]>
Date:   Wed Feb 18 16:52:52 2026 -0500

    ada: Minor cleanup related to aspects vs. pragmas
    
    Initialize aspect is implementation defined, but was not in
    Implementation_Defined_Aspect.
    
    Misc minor comment fixes.
    
    gcc/ada/ChangeLog:
    
            * aspects.ads (Aspect_Initialize):
            Add to Implementation_Defined_Aspect.
            * einfo.ads (Alignment_Clause): Minor comment fix.
            * sem.adb: Remove useless null statements.
            * sem_ch13.ads (Rep_Item_Too_Late):
            Minor comment fix (this IS Sem_Ch13).
            * sem_prag.adb (Fix_Error):
            Minor comment fix (aspects are not "abnormal").
            * sinfo.ads: Minor comment fix.

Diff:
---
 gcc/ada/aspects.ads  | 159 ++++++++++++++++++++++++++-------------------------
 gcc/ada/einfo.ads    |   2 +-
 gcc/ada/sem.adb      |   2 -
 gcc/ada/sem_ch13.ads |   2 +-
 gcc/ada/sem_prag.adb |   6 +-
 gcc/ada/sinfo.ads    |   2 +-
 6 files changed, 86 insertions(+), 87 deletions(-)

diff --git a/gcc/ada/aspects.ads b/gcc/ada/aspects.ads
index c7d73b1b2b50..f1721bead624 100644
--- a/gcc/ada/aspects.ads
+++ b/gcc/ada/aspects.ads
@@ -289,86 +289,87 @@ package Aspects is
    --  The following array identifies all implementation defined aspects
 
    Implementation_Defined_Aspect : constant array (Aspect_Id) of Boolean :=
-     (Aspect_Abstract_State             => True,
-      Aspect_Always_Terminates          => True,
-      Aspect_Annotate                   => True,
-      Aspect_Async_Readers              => True,
-      Aspect_Async_Writers              => True,
-      Aspect_Constant_After_Elaboration => True,
-      Aspect_Contract_Cases             => True,
-      Aspect_CUDA_Device                => True,
-      Aspect_CUDA_Global                => True,
-      Aspect_Depends                    => True,
-      Aspect_Designated_Storage_Model   => True,
-      Aspect_Dimension                  => True,
-      Aspect_Dimension_System           => True,
-      Aspect_Disable_Controlled         => True,
-      Aspect_Effective_Reads            => True,
-      Aspect_Effective_Writes           => True,
-      Aspect_Exceptional_Cases          => True,
-      Aspect_Exit_Cases                 => True,
-      Aspect_Extended_Access            => True,
-      Aspect_Extensions_Visible         => True,
-      Aspect_External_Initialization    => True,
-      Aspect_Favor_Top_Level            => True,
-      Aspect_Finalizable                => True,
+     (Aspect_Abstract_State              => True,
+      Aspect_Always_Terminates           => True,
+      Aspect_Annotate                    => True,
+      Aspect_Async_Readers               => True,
+      Aspect_Async_Writers               => True,
+      Aspect_Constant_After_Elaboration  => True,
+      Aspect_Contract_Cases              => True,
+      Aspect_CUDA_Device                 => True,
+      Aspect_CUDA_Global                 => True,
+      Aspect_Depends                     => True,
+      Aspect_Designated_Storage_Model    => True,
+      Aspect_Dimension                   => True,
+      Aspect_Dimension_System            => True,
+      Aspect_Disable_Controlled          => True,
+      Aspect_Effective_Reads             => True,
+      Aspect_Effective_Writes            => True,
+      Aspect_Exceptional_Cases           => True,
+      Aspect_Exit_Cases                  => True,
+      Aspect_Extended_Access             => True,
+      Aspect_Extensions_Visible          => True,
+      Aspect_External_Initialization     => True,
+      Aspect_Favor_Top_Level             => True,
+      Aspect_Finalizable                 => True,
       Aspect_First_Controlling_Parameter => True,
-      Aspect_Ghost                      => True,
-      Aspect_Ghost_Predicate            => True,
-      Aspect_Global                     => True,
-      Aspect_GNAT_Annotate              => True,
-      Aspect_Initial_Condition          => True,
-      Aspect_Initializes                => True,
-      Aspect_Inline_Always              => True,
-      Aspect_Invariant                  => True,
-      Aspect_Iterable                   => True,
-      Aspect_Linker_Section             => True,
-      Aspect_Local_Restrictions         => True,
-      Aspect_Lock_Free                  => True,
-      Aspect_Max_Queue_Length           => True,
-      Aspect_No_Caching                 => True,
-      Aspect_No_Elaboration_Code_All    => True,
-      Aspect_No_Inline                  => True,
-      Aspect_No_Raise                   => True,
-      Aspect_No_Tagged_Streams          => True,
-      Aspect_No_Task_Parts              => True,
-      Aspect_Obsolescent                => True,
-      Aspect_Part_Of                    => True,
-      Aspect_Persistent_BSS             => True,
-      Aspect_Potentially_Invalid        => True,
-      Aspect_Predicate                  => True,
-      Aspect_Pure_Function              => True,
-      Aspect_Refined_Depends            => True,
-      Aspect_Refined_Global             => True,
-      Aspect_Refined_Post               => True,
-      Aspect_Refined_State              => True,
-      Aspect_Relaxed_Initialization     => True,
-      Aspect_Remote_Access_Type         => True,
-      Aspect_Scalar_Storage_Order       => True,
-      Aspect_Secondary_Stack_Size       => True,
-      Aspect_Shared                     => True,
-      Aspect_Side_Effects               => True,
-      Aspect_Simple_Storage_Pool        => True,
-      Aspect_Simple_Storage_Pool_Type   => True,
-      Aspect_SPARK_Mode                 => True,
-      Aspect_Storage_Model_Type         => True,
-      Aspect_Subprogram_Variant         => True,
-      Aspect_Suppress_Debug_Info        => True,
-      Aspect_Suppress_Initialization    => True,
-      Aspect_Test_Case                  => True,
-      Aspect_Thread_Local_Storage       => True,
-      Aspect_Universal_Aliasing         => True,
-      Aspect_Unmodified                 => True,
-      Aspect_Unreferenced               => True,
-      Aspect_Unreferenced_Objects       => True,
-      Aspect_Unsigned_Base_Range        => True,
-      Aspect_User_Aspect                => True,
-      Aspect_Value_Size                 => True,
-      Aspect_Volatile_Full_Access       => True,
-      Aspect_Volatile_Function          => True,
-      Aspect_Warnings                   => True,
-      Ignored_Aspects                   => True,
-      others                            => False);
+      Aspect_Ghost                       => True,
+      Aspect_Ghost_Predicate             => True,
+      Aspect_Global                      => True,
+      Aspect_GNAT_Annotate               => True,
+      Aspect_Initial_Condition           => True,
+      Aspect_Initialize                  => True,
+      Aspect_Initializes                 => True,
+      Aspect_Inline_Always               => True,
+      Aspect_Invariant                   => True,
+      Aspect_Iterable                    => True,
+      Aspect_Linker_Section              => True,
+      Aspect_Local_Restrictions          => True,
+      Aspect_Lock_Free                   => True,
+      Aspect_Max_Queue_Length            => True,
+      Aspect_No_Caching                  => True,
+      Aspect_No_Elaboration_Code_All     => True,
+      Aspect_No_Inline                   => True,
+      Aspect_No_Raise                    => True,
+      Aspect_No_Tagged_Streams           => True,
+      Aspect_No_Task_Parts               => True,
+      Aspect_Obsolescent                 => True,
+      Aspect_Part_Of                     => True,
+      Aspect_Persistent_BSS              => True,
+      Aspect_Potentially_Invalid         => True,
+      Aspect_Predicate                   => True,
+      Aspect_Pure_Function               => True,
+      Aspect_Refined_Depends             => True,
+      Aspect_Refined_Global              => True,
+      Aspect_Refined_Post                => True,
+      Aspect_Refined_State               => True,
+      Aspect_Relaxed_Initialization      => True,
+      Aspect_Remote_Access_Type          => True,
+      Aspect_Scalar_Storage_Order        => True,
+      Aspect_Secondary_Stack_Size        => True,
+      Aspect_Shared                      => True,
+      Aspect_Side_Effects                => True,
+      Aspect_Simple_Storage_Pool         => True,
+      Aspect_Simple_Storage_Pool_Type    => True,
+      Aspect_SPARK_Mode                  => True,
+      Aspect_Storage_Model_Type          => True,
+      Aspect_Subprogram_Variant          => True,
+      Aspect_Suppress_Debug_Info         => True,
+      Aspect_Suppress_Initialization     => True,
+      Aspect_Test_Case                   => True,
+      Aspect_Thread_Local_Storage        => True,
+      Aspect_Universal_Aliasing          => True,
+      Aspect_Unmodified                  => True,
+      Aspect_Unreferenced                => True,
+      Aspect_Unreferenced_Objects        => True,
+      Aspect_Unsigned_Base_Range         => True,
+      Aspect_User_Aspect                 => True,
+      Aspect_Value_Size                  => True,
+      Aspect_Volatile_Full_Access        => True,
+      Aspect_Volatile_Function           => True,
+      Aspect_Warnings                    => True,
+      Ignored_Aspects                    => True,
+      others                             => False);
          --  end Implementation_Defined_Aspect
 
    --  The following array indicates aspects that specify operational
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads
index c908542e3e7c..b1ec7f885e73 100644
--- a/gcc/ada/einfo.ads
+++ b/gcc/ada/einfo.ads
@@ -430,7 +430,7 @@ package Einfo is
 --    Alignment_Clause (synthesized)
 --       Applies to all entities for types and objects. If an alignment
 --       attribute definition clause is present for the entity, then this
---       function returns the N_Attribute_Definition clause that specifies the
+--       function returns the N_Attribute_Definition_Clause that specifies the
 --       alignment. If no alignment clause applies to the type, then the call
 --       to this function returns Empty. Note that the call can return a
 --       non-Empty value even if Has_Alignment_Clause is not set (happens with
diff --git a/gcc/ada/sem.adb b/gcc/ada/sem.adb
index e3dde6216638..6679c1d3bf25 100644
--- a/gcc/ada/sem.adb
+++ b/gcc/ada/sem.adb
@@ -651,7 +651,6 @@ package body Sem is
          when N_Empty =>
             pragma Assert (Serious_Errors_Detected /= 0
               or else Configurable_Run_Time_Violations /= 0);
-            null;
 
          --  A call to analyze the error node is simply ignored, to avoid
          --  causing cascaded errors (happens of course only in error cases)
@@ -660,7 +659,6 @@ package body Sem is
 
          when N_Error =>
             Expander_Mode_Save_And_Set (False);
-            null;
 
          --  Push/Pop nodes normally don't come through an analyze call. An
          --  exception is the dummy ones bracketing a subprogram body. In any
diff --git a/gcc/ada/sem_ch13.ads b/gcc/ada/sem_ch13.ads
index 7454600a4ccd..63f72004e0a5 100644
--- a/gcc/ada/sem_ch13.ads
+++ b/gcc/ada/sem_ch13.ads
@@ -229,7 +229,7 @@ package Sem_Ch13 is
    --  Note: Calls to Rep_Item_Too_Late are ignored for the case of attribute
    --  definition clauses which have From_Aspect_Specification set. This is
    --  because such clauses are linked on to the Rep_Item chain in procedure
-   --  Sem_Ch13.Analyze_Aspect_Specifications. See that procedure for details.
+   --  Analyze_Aspect_Specifications. See that procedure for details.
 
    procedure Validate_Unchecked_Conversion
      (N        : Node_Id;
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index e891591a65b9..3519f9166e61 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -5222,9 +5222,9 @@ package body Sem_Prag is
       --  errors out and uses Arg as the pragma argument for the message.
 
       function Fix_Error (Msg : String) return String;
-      --  This is called prior to issuing an error message. Msg is the normal
-      --  error message issued in the pragma case. This routine checks for the
-      --  case of a pragma coming from an aspect in the source, and returns a
+      --  This is called prior to issuing an error message. Msg is the error
+      --  message issued in the pragma case. This routine checks for the case
+      --  of a pragma coming from an aspect in the source, and returns a
       --  message suitable for the aspect case as follows:
       --
       --    Each substring "pragma" is replaced by "aspect"
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index 477f4bc312d3..3c509bae39dd 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -900,7 +900,7 @@ package Sinfo is
    --    additional cleanup actions carried over from the transient scope.
 
    --  Check_Address_Alignment
-   --    A flag present in N_Attribute_Definition clause for a 'Address
+   --    A flag present in N_Attribute_Definition_Clause for a 'Address
    --    attribute definition. This flag is set if a dynamic check should be
    --    generated at the freeze point for the entity to which this address
    --    clause applies. The reason that we need this flag is that we want to

Reply via email to