Commit f2d9ae20 by Arnaud Charlet

[multiple changes]

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb: Minor reformatting.
	* exp_util.adb (Following_Address_Clause): Handle case of
	package private part.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

	* a-cdlili.adb, a-cihama.adb, a-coinve.adb, a-cusyqu.adb, a-ciorse.adb,
	a-coorma.adb, a-cborma.adb, a-cidlli.adb, a-cimutr.adb, a-ciormu.adb,
	a-cbprqu.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb, a-coboho.adb,
	a-cuprqu.adb, a-cbhama.adb, a-rbtgbo.adb, a-cborse.adb, a-comutr.adb,
	a-ciorma.adb, a-cobove.adb, a-coormu.adb, a-convec.adb, a-cohase.adb,
	a-coinho.adb, a-coinho-shared.adb, a-cbdlli.adb, a-cbsyqu.adb,
	a-cbmutr.adb, a-cbhase.adb: Add pragma Annotate to prevent codepeer
	from analyzing these bodies.

From-SVN: r217854
parent ad1048a5
2014-11-20 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb: Minor reformatting.
* exp_util.adb (Following_Address_Clause): Handle case of
package private part.
2014-11-20 Arnaud Charlet <charlet@adacore.com>
* a-cdlili.adb, a-cihama.adb, a-coinve.adb, a-cusyqu.adb, a-ciorse.adb,
a-coorma.adb, a-cborma.adb, a-cidlli.adb, a-cimutr.adb, a-ciormu.adb,
a-cbprqu.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb, a-coboho.adb,
a-cuprqu.adb, a-cbhama.adb, a-rbtgbo.adb, a-cborse.adb, a-comutr.adb,
a-ciorma.adb, a-cobove.adb, a-coormu.adb, a-convec.adb, a-cohase.adb,
a-coinho.adb, a-coinho-shared.adb, a-cbdlli.adb, a-cbsyqu.adb,
a-cbmutr.adb, a-cbhase.adb: Add pragma Annotate to prevent codepeer
from analyzing these bodies.
2014-11-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not apply
......
......@@ -31,6 +31,8 @@ with System; use type System.Address;
package body Ada.Containers.Bounded_Doubly_Linked_Lists is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -39,6 +39,8 @@ with System; use type System.Address;
package body Ada.Containers.Bounded_Hashed_Maps is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -39,6 +39,8 @@ with System; use type System.Address;
package body Ada.Containers.Bounded_Hashed_Sets is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -31,6 +31,8 @@ with System; use type System.Address;
package body Ada.Containers.Bounded_Multiway_Trees is
pragma Annotate (CodePeer, Skip_Analysis);
--------------------
-- Root_Iterator --
--------------------
......
......@@ -39,6 +39,8 @@ with System; use type System.Address;
package body Ada.Containers.Bounded_Ordered_Maps is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------------
-- Node Access Subprograms --
-----------------------------
......
......@@ -42,6 +42,8 @@ with System; use type System.Address;
package body Ada.Containers.Bounded_Ordered_Sets is
pragma Annotate (CodePeer, Skip_Analysis);
------------------------------
-- Access to Fields of Node --
------------------------------
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2011, Free Software Foundation, Inc. --
-- Copyright (C) 2011-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- --
......@@ -29,6 +29,8 @@
package body Ada.Containers.Bounded_Priority_Queues is
pragma Annotate (CodePeer, Skip_Analysis);
package body Implementation is
-------------
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2011, Free Software Foundation, Inc. --
-- Copyright (C) 2011-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- --
......@@ -29,6 +29,8 @@
package body Ada.Containers.Bounded_Synchronized_Queues is
pragma Annotate (CodePeer, Skip_Analysis);
package body Implementation is
-------------
......
......@@ -33,6 +33,8 @@ with System; use type System.Address;
package body Ada.Containers.Doubly_Linked_Lists is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -33,6 +33,8 @@ with System; use type System.Address;
package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
pragma Annotate (CodePeer, Skip_Analysis);
procedure Free is
new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2004-2013, Free Software Foundation, Inc. --
-- Copyright (C) 2004-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- --
......@@ -39,6 +39,8 @@ with System; use type System.Address;
package body Ada.Containers.Indefinite_Hashed_Maps is
pragma Annotate (CodePeer, Skip_Analysis);
procedure Free_Key is
new Ada.Unchecked_Deallocation (Key_Type, Key_Access);
......
......@@ -41,6 +41,8 @@ with System; use type System.Address;
package body Ada.Containers.Indefinite_Hashed_Sets is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -33,6 +33,8 @@ with System; use type System.Address;
package body Ada.Containers.Indefinite_Multiway_Trees is
pragma Annotate (CodePeer, Skip_Analysis);
--------------------
-- Root_Iterator --
--------------------
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2004-2013, Free Software Foundation, Inc. --
-- Copyright (C) 2004-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- --
......@@ -40,6 +40,8 @@ with System; use type System.Address;
package body Ada.Containers.Indefinite_Ordered_Maps is
pragma Suppress (All_Checks);
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------------
-- Node Access Subprograms --
-----------------------------
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2004-2013, Free Software Foundation, Inc. --
-- Copyright (C) 2004-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- --
......@@ -42,6 +42,8 @@ with System; use type System.Address;
package body Ada.Containers.Indefinite_Ordered_Multisets is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------------
-- Node Access Subprograms --
-----------------------------
......
......@@ -42,6 +42,8 @@ with System; use type System.Address;
package body Ada.Containers.Indefinite_Ordered_Sets is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -30,6 +30,8 @@ with Ada.Assertions; use Ada.Assertions;
package body Ada.Containers.Bounded_Holders is
pragma Annotate (CodePeer, Skip_Analysis);
function Size_In_Storage_Elements (Element : Element_Type) return Natural is
(Element'Size / System.Storage_Unit)
with Pre =>
......
......@@ -33,6 +33,8 @@ with System; use type System.Address;
package body Ada.Containers.Bounded_Vectors is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2004-2013, Free Software Foundation, Inc. --
-- Copyright (C) 2004-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- --
......@@ -39,6 +39,8 @@ with System; use type System.Address;
package body Ada.Containers.Hashed_Maps is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -41,6 +41,8 @@ with System; use type System.Address;
package body Ada.Containers.Hashed_Sets is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -36,6 +36,8 @@ with Ada.Unchecked_Deallocation;
package body Ada.Containers.Indefinite_Holders is
pragma Annotate (CodePeer, Skip_Analysis);
procedure Free is
new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
......
......@@ -29,6 +29,8 @@ with Ada.Unchecked_Deallocation;
package body Ada.Containers.Indefinite_Holders is
pragma Annotate (CodePeer, Skip_Analysis);
procedure Free is
new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2004-2013, Free Software Foundation, Inc. --
-- Copyright (C) 2004-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- --
......@@ -34,6 +34,8 @@ with System; use type System.Address;
package body Ada.Containers.Indefinite_Vectors is
pragma Annotate (CodePeer, Skip_Analysis);
procedure Free is
new Ada.Unchecked_Deallocation (Elements_Type, Elements_Access);
......
......@@ -34,6 +34,8 @@ with System; use type System.Address;
package body Ada.Containers.Multiway_Trees is
pragma Annotate (CodePeer, Skip_Analysis);
--------------------
-- Root_Iterator --
--------------------
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2004-2013, Free Software Foundation, Inc. --
-- Copyright (C) 2004-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- --
......@@ -34,6 +34,8 @@ with System; use type System.Address;
package body Ada.Containers.Vectors is
pragma Annotate (CodePeer, Skip_Analysis);
procedure Free is
new Ada.Unchecked_Deallocation (Elements_Type, Elements_Access);
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2004-2013, Free Software Foundation, Inc. --
-- Copyright (C) 2004-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- --
......@@ -39,6 +39,8 @@ with System; use type System.Address;
package body Ada.Containers.Ordered_Maps is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------------
-- Node Access Subprograms --
-----------------------------
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2004-2013, Free Software Foundation, Inc. --
-- Copyright (C) 2004-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- --
......@@ -42,6 +42,8 @@ with System; use type System.Address;
package body Ada.Containers.Ordered_Multisets is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------------
-- Node Access Subprograms --
-----------------------------
......
......@@ -42,6 +42,8 @@ with System; use type System.Address;
package body Ada.Containers.Ordered_Sets is
pragma Annotate (CodePeer, Skip_Analysis);
------------------------------
-- Access to Fields of Node --
------------------------------
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2011, Free Software Foundation, Inc. --
-- Copyright (C) 2011-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- --
......@@ -31,6 +31,8 @@ with Ada.Unchecked_Deallocation;
package body Ada.Containers.Unbounded_Priority_Queues is
pragma Annotate (CodePeer, Skip_Analysis);
package body Implementation is
-----------------------
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2011, Free Software Foundation, Inc. --
-- Copyright (C) 2011-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- --
......@@ -31,6 +31,8 @@ with Ada.Unchecked_Deallocation;
package body Ada.Containers.Unbounded_Synchronized_Queues is
pragma Annotate (CodePeer, Skip_Analysis);
package body Implementation is
-----------------------
......
......@@ -39,6 +39,8 @@ with System; use type System.Address;
package body Ada.Containers.Red_Black_Trees.Generic_Bounded_Operations is
pragma Annotate (CodePeer, Skip_Analysis);
-----------------------
-- Local Subprograms --
-----------------------
......
......@@ -2916,14 +2916,26 @@ package body Exp_Util is
-- Following_Address_Clause --
------------------------------
-- Should this function check the private part in a package ???
function Following_Address_Clause (D : Node_Id) return Node_Id is
Id : constant Entity_Id := Defining_Identifier (D);
Result : Node_Id;
Par : Node_Id;
function Check_Decls (D : Node_Id) return Node_Id;
-- This internal function differs from the main function in that it
-- gets called to deal with a following package private part, and
-- it checks declarations starting with D (the main function checks
-- declarations following D). If D is Empty, then Empty is returned.
-----------------
-- Check_Decls --
-----------------
function Check_Decls (D : Node_Id) return Node_Id is
Decl : Node_Id;
begin
Decl := Next (D);
Decl := D;
while Present (Decl) loop
if Nkind (Decl) = N_At_Clause
and then Chars (Identifier (Decl)) = Chars (Id)
......@@ -2940,7 +2952,37 @@ package body Exp_Util is
Next (Decl);
end loop;
-- Otherwise not found, return Empty
return Empty;
end Check_Decls;
-- Start of processing for Following_Address_Clause
begin
Result := Check_Decls (Next (D));
if Present (Result) then
return Result;
end if;
-- Check for possible package private part following
Par := Parent (D);
if Nkind (Par) = N_Package_Specification
and then Visible_Declarations (Par) = List_Containing (D)
and then Present (Private_Declarations (Par))
then
-- Private part present, check declarations there
return Check_Decls (First (Private_Declarations (Par)));
else
-- No private part, clause not found, return Empty
return Empty;
end if;
end Following_Address_Clause;
----------------------
......
......@@ -2853,7 +2853,6 @@ package body Sem_Ch13 is
begin
if A_Id = Aspect_Pre or else A_Id = Aspect_Precondition then
Pname := Name_Precondition;
else
Pname := Name_Postcondition;
end if;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment