aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/par-ch4.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-10-22 12:41:17 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-10-22 12:41:17 +0200
commit26df19ce4f23305c36afaa49cce1aa88a7199eda (patch)
treebdf76ce8ebb9ad9bd050ccab4a7ee4c1aa3a57c6 /gcc/ada/par-ch4.adb
parent0937fb69fec34dfefa6c9bc790c41c756a580720 (diff)
downloadgcc-26df19ce4f23305c36afaa49cce1aa88a7199eda.zip
gcc-26df19ce4f23305c36afaa49cce1aa88a7199eda.tar.gz
gcc-26df19ce4f23305c36afaa49cce1aa88a7199eda.tar.bz2
[multiple changes]
2010-10-22 Robert Dewar <dewar@adacore.com> * par-ch5.adb: Minor reformatting. * gcc-interface/Make-lang.in: Update dependencies. 2010-10-22 Robert Dewar <dewar@adacore.com> * a-except.adb, a-except-2005.adb: Add new Rcheck entry. * exp_ch13.adb (Add_Call): Make sure subtype is marked with Has_Predicates set to True if it inherits predicates. * sem_attr.adb: Handle 'First/'Last/'Range for predicated types * types.ads (PE_Bad_Attribute_For_Predicate): New reason code * types.h: Add new Rcheck entry. * einfo.ads, einfo.adb (Static_Predicate): New field. Minor code reorganization (file float routines in proper section) Fix bad field name in comments. 2010-10-22 Robert Dewar <dewar@adacore.com> * sem_eval.adb (Subtypes_Statically_Compatible): Check null exclusion case. 2010-10-22 Vincent Celier <celier@adacore.com> * prj-conf.adb (Get_Config_Switches): Detect if there is at least one declaration of IDE'Compiler_Command for one of the language in the main project. (Do_Autoconf): If there were at least one Compiler_Command declared and no target, invoke gprconfig with --target=all instead of the normalized host name. 2010-10-22 Robert Dewar <dewar@adacore.com> * par-ch4.adb: Update syntax in comments for Ada 2012. * sinfo.ads: Update syntax in comments for Ada 2012 * par-ch3.adb (Check_Restricted_Expression): Remove "in Ada 2012 mode" from msg. From-SVN: r165822
Diffstat (limited to 'gcc/ada/par-ch4.adb')
-rw-r--r--gcc/ada/par-ch4.adb25
1 files changed, 20 insertions, 5 deletions
diff --git a/gcc/ada/par-ch4.adb b/gcc/ada/par-ch4.adb
index 5e26def..325efe2 100644
--- a/gcc/ada/par-ch4.adb
+++ b/gcc/ada/par-ch4.adb
@@ -1577,10 +1577,15 @@ package body Ch4 is
-- 4.4 Expression --
---------------------
+ -- This procedure parses EXPRESSION or CHOICE_EXPRESSION
+
-- EXPRESSION ::=
- -- RELATION {and RELATION} | RELATION {and then RELATION}
- -- | RELATION {or RELATION} | RELATION {or else RELATION}
- -- | RELATION {xor RELATION}
+ -- RELATION {LOGICAL_OPERATOR RELATION}
+
+ -- CHOICE_EXPRESSION ::=
+ -- CHOICE_RELATION {LOGICAL_OPERATOR CHOICE_RELATION}
+
+ -- LOGICAL_OPERATOR ::= and | and then | or | or else | xor
-- On return, Expr_Form indicates the categorization of the expression
-- EF_Range_Attr is not a possible value (if a range attribute is found,
@@ -1766,9 +1771,19 @@ package body Ch4 is
-- 4.4 Relation --
-------------------
- -- RELATION ::=
+ -- This procedure scans both relations and choice relations
+
+ -- CHOICE_RELATION ::=
-- SIMPLE_EXPRESSION [RELATIONAL_OPERATOR SIMPLE_EXPRESSION]
- -- | SIMPLE_EXPRESSION [not] in MEMBERSHIP_CHOICE_LIST
+
+ -- RELATION ::=
+ -- SIMPLE_EXPRESSION [not] in MEMBERSHIP_CHOICE_LIST
+
+ -- MEMBERSHIP_CHOICE_LIST ::=
+ -- MEMBERSHIP_CHOICE {'|' MEMBERSHIP CHOICE}
+
+ -- MEMBERSHIP_CHOICE ::=
+ -- CHOICE_EXPRESSION | RANGE | SUBTYPE_MARK
-- On return, Expr_Form indicates the categorization of the expression