g-rannum.adb, [...]: Minor reformatting.
authorRobert Dewar <dewar@adacore.com>
Thu, 5 Feb 2015 11:17:25 +0000 (11:17 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 5 Feb 2015 11:17:25 +0000 (12:17 +0100)
2015-02-05  Robert Dewar  <dewar@adacore.com>

* g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads,
sem_warn.ads: Minor reformatting.
* exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect
deleted by -gnatI.
* sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give
error for abstract type.

From-SVN: r220445

gcc/ada/ChangeLog
gcc/ada/exp_ch13.adb
gcc/ada/g-rannum.adb
gcc/ada/g-rannum.ads
gcc/ada/s-rannum.adb
gcc/ada/s-rannum.ads
gcc/ada/sem_prag.adb
gcc/ada/sem_warn.ads

index 7ad5878c342dbb500bf4019c1ce21c21029ad7ff..acadafe214c6681620e64e2260f7dcbacb461916 100644 (file)
@@ -1,3 +1,12 @@
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads,
+       sem_warn.ads: Minor reformatting.
+       * exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect
+       deleted by -gnatI.
+       * sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give
+       error for abstract type.
+
 2015-02-05  Yannick Moy  <moy@adacore.com>
 
        * opt.ads (Warn_On_Suspicious_Contract): Update comment
index 856fb74e63db40b6c7be8a99078bf73f7ba5f5cb..65fa3238a4934cecab7d44adbb9fb96ef372e39d 100644 (file)
@@ -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- --
@@ -400,7 +400,14 @@ package body Exp_Ch13 is
                   --  Skip this for aspects (e.g. Current_Value) for which
                   --  there is no corresponding pragma or attribute.
 
-                  if Present (Aitem) then
+                  if Present (Aitem)
+
+                    --  Also skip if we have a null statement rather than a
+                    --  delayed aspect (this happens when we are ignoring rep
+                    --  items from use of the -gnatI switch).
+
+                    and then Nkind (Aitem) /= N_Null_Statement
+                  then
                      pragma Assert (Is_Delayed_Aspect (Aitem));
                      Insert_Before (N, Aitem);
                   end if;
index 39e92e19a31f6dc79a3c55bfd7c8f1120fff7e3c..3e802eeeaa91b48b75ba7a4ad5c330e3a27bba03 100644 (file)
@@ -38,7 +38,6 @@ with System.Random_Numbers; use System.Random_Numbers;
 package body GNAT.Random_Numbers with
   SPARK_Mode => Off
 is
-
    Sys_Max_Image_Width : constant := System.Random_Numbers.Max_Image_Width;
 
    subtype Image_String is String (1 .. Max_Image_Width);
index 8eadf669a2bad77556fd52b88b5d65670c66b84c..cf2889c45816ea74f6aeade2732666d439fe3cd5 100644 (file)
@@ -57,7 +57,6 @@ with Interfaces; use Interfaces;
 package GNAT.Random_Numbers with
   SPARK_Mode => Off
 is
-
    type Generator is limited private;
    subtype Initialization_Vector is
      System.Random_Numbers.Initialization_Vector;
index e31a2dca36ed2ad7c6801cb6309fced2df6ffe02..f722f6c0254fdfedc3526d1b643e6502bdca2b76 100644 (file)
@@ -97,8 +97,8 @@ use Ada;
 package body System.Random_Numbers with
   SPARK_Mode => Off
 is
-
    Image_Numeral_Length : constant := Max_Image_Width / N;
+
    subtype Image_String is String (1 .. Max_Image_Width);
 
    ----------------------------
index 8331c039c5c027dc8575d8e8d3d016d9f13b575b..a98631158e851950f954ec8023c403f4f31544b1 100644 (file)
@@ -60,7 +60,6 @@ with Interfaces;
 package System.Random_Numbers with
   SPARK_Mode => Off
 is
-
    type Generator is limited private;
    --  Generator encodes the current state of a random number stream, it is
    --  provided as input to produce the next random number, and updated so
index 108c99190c2a9753d86b354e161cfda8cd45622e..8951059c98b889f4e4d319cee9552a54a07fa4fb 100644 (file)
@@ -15704,6 +15704,13 @@ package body Sem_Prag is
                  ("pragma% only allowed for private type", Arg1);
             end if;
 
+            --  Not allowed for abstract type
+
+            if Is_Abstract_Type (Typ) then
+               Error_Pragma_Arg
+                 ("pragma% not allowed for abstract type", Arg1);
+            end if;
+
             --  Note that the type has at least one invariant, and also that
             --  it has inheritable invariants if we have Invariant'Class
             --  or Type_Invariant'Class. Build the corresponding invariant
index c441f28b88953fd0acf2660dc16d7219440e1f31..b1f2af22da11e8fed9f4083529f5cddc51bd4ebb 100644 (file)
@@ -217,7 +217,7 @@ package Sem_Warn is
    procedure Warn_On_Suspicious_Update (N : Node_Id);
    --  N is a semantically analyzed attribute reference Prefix'Update. Issue
    --  a warning if Warn_On_Suspicious_Contract is set, and N is the left-hand
-   --  side or right-hand side of an equality or disequality of the form:
+   --  side or right-hand side of an equality or inequality of the form:
    --    Prefix = Prefix'Update(...)
    --  or
    --    Prefix'Update(...) = Prefix