[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 16 Jul 2014 14:51:47 +0000 (16:51 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 16 Jul 2014 14:51:47 +0000 (16:51 +0200)
2014-07-16  Vincent Celier  <celier@adacore.com>

* gnatls.adb: Get the target parameters only if -nostdinc was
not specified.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

* checks.adb (Insert_Valid_Check): If the expression is a packed
component of a modular type of the right size the data is always
valid. This os particularly useful if the component is part of
a volatile variable.

2014-07-16  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi, sinfo.ads, freeze.adb, exp_aggr.adb: Minor reformatting

2014-07-16  Thomas Quinot  <quinot@adacore.com>

* exp_ch7.ads: Minor documentation fix.

From-SVN: r212663

gcc/ada/ChangeLog
gcc/ada/checks.adb
gcc/ada/exp_aggr.adb
gcc/ada/exp_ch7.ads
gcc/ada/freeze.adb
gcc/ada/gnat_rm.texi
gcc/ada/gnatls.adb
gcc/ada/sinfo.ads

index c073f87..778550e 100644 (file)
@@ -1,3 +1,23 @@
+2014-07-16  Vincent Celier  <celier@adacore.com>
+
+       * gnatls.adb: Get the target parameters only if -nostdinc was
+       not specified.
+
+2014-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * checks.adb (Insert_Valid_Check): If the expression is a packed
+       component of a modular type of the right size the data is always
+       valid. This os particularly useful if the component is part of
+       a volatile variable.
+
+2014-07-16  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_rm.texi, sinfo.ads, freeze.adb, exp_aggr.adb: Minor reformatting
+
+2014-07-16  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch7.ads: Minor documentation fix.
+
 2014-07-16  Ed Schonberg  <schonberg@adacore.com>
 
        * sem_ch3.adb (Find_Type_Name): Diagnose properly
index 87777de..ea1f164 100644 (file)
@@ -6444,6 +6444,17 @@ package body Checks is
          return;
       end if;
 
+      --  If the expression is a packed component of a modular type of the
+      --  right size, the data is always valid.
+
+      if Nkind (Expr) = N_Selected_Component
+        and then Present (Component_Clause (Entity (Selector_Name (Expr))))
+        and then Is_Modular_Integer_Type (Typ)
+        and then Modulus (Typ) = 2 ** Esize (Entity (Selector_Name (Expr)))
+      then
+         return;
+      end if;
+
       --  If we have a checked conversion, then validity check applies to
       --  the expression inside the conversion, not the result, since if
       --  the expression inside is valid, then so is the conversion result.
index 377fc7b..44edd88 100644 (file)
@@ -3049,8 +3049,7 @@ package body Exp_Aggr is
       end loop;
 
       if not Is_Empty_List (Init_Actions) then
-         Comp_Stmt := Make_Compound_Statement (Loc,
-                        Actions => Init_Actions);
+         Comp_Stmt := Make_Compound_Statement (Loc, Actions => Init_Actions);
          Insert_Action_After (Init_Node, Comp_Stmt);
          Set_Initialization_Statements (Obj, Comp_Stmt);
       end if;
index 2cb4265..6055ce0 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, 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- --
@@ -298,8 +298,8 @@ package Exp_Ch7 is
    --  the top of the scope stack.
 
    procedure Store_After_Actions_In_Scope (L : List_Id);
-   --  Append the list L of actions to the beginning of the after-actions store
-   --  in the top of the scope stack.
+   --  Prepend the list L of actions to the beginning of the after-actions
+   --  store in the top of the scope stack.
 
    procedure Wrap_Transient_Declaration (N : Node_Id);
    --  N is an object declaration. Expand the finalization calls after the
index 95ea1eb..45175d7 100644 (file)
@@ -1372,6 +1372,7 @@ package body Freeze is
 
    procedure Explode_Initialization_Compound_Statement (E : Entity_Id) is
       Init_Stmts : constant Node_Id := Initialization_Statements (E);
+
    begin
       if Present (Init_Stmts)
         and then Nkind (Init_Stmts) = N_Compound_Statement
index 70b4c25..50d034f 100644 (file)
@@ -19572,9 +19572,9 @@ Henry Spencer (and binary compatible with this C library).
 
 @noindent
 A unit to rewrite on-the-fly string occurrences in a stream of
-data. The implementation has a very minimum memory footprint as the
-full content to be processed is not loaded into memory. This makes
-this implementation usable for large files or socket streams.
+data. The implementation has a very minimal memory footprint as the
+full content to be processed is not loaded into memory all at once. This makes
+this interface usable for large files or socket streams.
 
 @node GNAT.Secondary_Stack_Info (g-sestin.ads)
 @section @code{GNAT.Secondary_Stack_Info} (@file{g-sestin.ads})
index aa36e33..33f7682 100644 (file)
@@ -1622,10 +1622,16 @@ begin
       First_Lib_Dir := First_Lib_Dir.Next;
    end loop;
 
-   --  Finally, add the default directories and obtain target parameters
+   --  Finally, add the default directories
 
    Osint.Add_Default_Search_Dirs;
-   Get_Target_Parameters;
+
+   --  Get the target parameters to know if the target is OpenVMS, but only if
+   --  switch -nostdinc was not specified.
+
+   if not Opt.No_Stdinc then
+      Get_Target_Parameters;
+   end if;
 
    if Verbose_Mode then
       Write_Eol;
index e879edd..3bae44d 100644 (file)
@@ -81,7 +81,7 @@ package Sinfo is
    --  the utility program which creates the Treeprs spec (in file treeprs.ads)
    --  must be updated appropriately, since it special cases expression fields.
 
-   --  If a new tree node is added, then the following changes are made
+   --  If a new tree node is added, then the following changes are made:
 
    --    Add it to the documentation in the appropriate place
    --    Add its fields to this documentation section
@@ -487,6 +487,16 @@ package Sinfo is
    --    they are set to Empty. This needs sorting out ??? It would be much
    --    cleaner if they could always be set in the original node ???
 
+   --  There are a few cases when ASIS has to use not the original, but the
+   --  rewritten tree structures. This happens when because of some important
+   --  technical reasons it is impossible or very hard to have the original
+   --  structure properly decorated by semantic information, and the rewritten
+   --  structure fully reproduces the original source. Below is the (incomplete
+   --  for the moment) list of such exceptions:
+   --
+   --  * generic specifications and generic bodies;
+   --  * function calls that use prefixed notation (Operand.Operation [(...)]);
+
    --  Representation Information
 
    --    For the purposes of the data description annex, the representation
@@ -7323,8 +7333,8 @@ package Sinfo is
       --  entire list of actions to be moved around as a whole) appearing
       --  in a sequence of statements.
 
-      --  This is the statement counterpart to expression node N_Expression_
-      --  With_Actions.
+      --  This is the statement counterpart to the expression node
+      --  N_Expression_With_Actions.
 
       --  The required semantics is that the set of actions is executed in
       --  the order in which it appears, as though they appeared by themselves