aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_case.ads
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2010-10-22 13:58:49 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2010-10-22 15:58:49 +0200
commit86200f6646bd6f79ce534253da034238ebbf5e10 (patch)
tree0f29daae91540971a73fc67b6f90224da6b55447 /gcc/ada/sem_case.ads
parent497b37aded1f085d996b5bd67ec4c62b26810912 (diff)
downloadgcc-86200f6646bd6f79ce534253da034238ebbf5e10.zip
gcc-86200f6646bd6f79ce534253da034238ebbf5e10.tar.gz
gcc-86200f6646bd6f79ce534253da034238ebbf5e10.tar.bz2
a-except-2005.adb (Rmsg_18): New message text.
2010-10-22 Robert Dewar <dewar@adacore.com> * a-except-2005.adb (Rmsg_18): New message text. * a-except.adb (Rmsg_18): New message text. * atree.adb (List25): New function (Set_List25): New procedure * atree.ads (List25): New function (Set_List25): New procedure * einfo.adb (Static_Predicate): Is now a list (OK_To_Reference): Present in all entities * einfo.ads (Static_Predicate): Is now a list (OK_To_Reference): Applies to all entities * exp_ch13.adb (Build_Predicate_Function): Moved to Sem_Ch13 * sem_attr.adb (Bad_Attribute_For_Predicate): Call Bad_Predicated_Subtype_Use. * sem_case.ads, sem_case.adb: Major surgery to deal with predicated subtype case. * sem_ch13.adb (Build_Predicate_Function): Moved from Exp_Ch13 to Sem_Ch13. (Build_Static_Predicate): New procedure handles static predicates. * sem_ch3.adb (Analyze_Subtype_Declaration): Delay freeze on subtype with no constraint if ancestor subtype has predicates. (Analyze_Variant_Part): New calling sequence for Analyze_Choices * sem_ch4.adb (Junk_Operand): Don't complain about OK_To_Reference entity. (Analyze_Case_Expression): New calling sequence for Analyze_Choices * sem_ch5.adb (Analyze_Case_Statement): New calling sequence for Analyze_Choices. * sem_util.ads, sem_util.adb (Bad_Predicated_Subtype_Use): New procedure * types.ads (PE_Bad_Predicated_Generic_Type): Replaces PE_Bad_Attribute_For_Predicate. * atree.h: Add definition of List25. From-SVN: r165828
Diffstat (limited to 'gcc/ada/sem_case.ads')
-rw-r--r--gcc/ada/sem_case.ads34
1 files changed, 0 insertions, 34 deletions
diff --git a/gcc/ada/sem_case.ads b/gcc/ada/sem_case.ads
index 78ae7c6..ccee41f 100644
--- a/gcc/ada/sem_case.ads
+++ b/gcc/ada/sem_case.ads
@@ -34,16 +34,6 @@ with Types; use Types;
package Sem_Case is
- type Choice_Bounds is record
- Lo : Node_Id;
- Hi : Node_Id;
- Node : Node_Id;
- end record;
-
- type Choice_Table_Type is array (Pos range <>) of Choice_Bounds;
- -- Table type used to sort the choices present in a case statement,
- -- array aggregate or record variant.
-
procedure No_OP (C : Node_Id);
-- The no-operation routine. Does absolutely nothing. Can be used
-- in the following generic for the parameter Process_Empty_Choice.
@@ -75,16 +65,9 @@ package Sem_Case is
package Generic_Choices_Processing is
- function Number_Of_Choices (N : Node_Id) return Nat;
- -- Iterates through the choices of N, (N can be a case expression, case
- -- statement, array aggregate or record variant), counting all the
- -- Choice nodes except for the Others choice.
-
procedure Analyze_Choices
(N : Node_Id;
Subtyp : Entity_Id;
- Choice_Table : out Choice_Table_Type;
- Last_Choice : out Nat;
Raises_CE : out Boolean;
Others_Present : out Boolean);
-- From a case expression, case statement, array aggregate or record
@@ -92,23 +75,6 @@ package Sem_Case is
-- choices. Subtyp is the subtype of the discrete choices. The type
-- against which the discrete choices must be resolved is its base type.
--
- -- On entry Choice_Table must be big enough to contain all the discrete
- -- choices encountered. The lower bound of Choice_Table must be one.
- --
- -- On exit Choice_Table contains all the static and non empty discrete
- -- choices in sorted order. Last_Choice gives the position of the last
- -- valid choice in Choice_Table, Choice_Table'First contains the first.
- -- We can have Last_Choice < Choice_Table'Last for one (or several) of
- -- the following reasons:
- --
- -- (a) The list of choices contained a non static choice
- --
- -- (b) The list of choices contained an empty choice
- -- (something like "1 .. 0 => ")
- --
- -- (c) One of the bounds of a discrete choice contains an
- -- error or raises constraint error.
- --
-- In one of the bounds of a discrete choice raises a constraint
-- error the flag Raise_CE is set.
--