summaryrefslogtreecommitdiff
path: root/gcc/ada/scn.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-19 12:29:25 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-19 12:29:25 +0000
commit39d4bf682cb00d3b73d914b9d4d2563458b3e6be (patch)
treefbc3350cd46472344fa50199f9069aaab0f8bfc6 /gcc/ada/scn.adb
parent1a20da3ba9f93be5c9be523d86a3b9d3d2f7de35 (diff)
downloadgcc-39d4bf682cb00d3b73d914b9d4d2563458b3e6be.tar.gz
2010-10-19 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb, exp_ch4.ads (Expand_Quantified_Expression): New procedure * exp_util.adb (Insert_Actions): Include Quantified_Expression. * expander.adb: Call Expand_Qualified_Expression. * par.adb: New procedure P_Quantified_Expression. Make P_Loop_Parameter_Specification global for use in quantified expressions. * par-ch3.adb (P_Subtype_Mark_Resync): Allow "some" as an identifier if version < Ada2012. * par-ch4.adb: New procedure P_Quantified_Expression. * par-ch5.adb: P_Loop_Parameter_Specification is now global. * scans.adb, scans.ads: Introduce token Some. For now leave as unreserved. * scn.adb (Scan_Reserved_Identifier): For earlier versions of Ada, treat Some as a regular identifier. * sem.adb: Call Analyze_Quantified_Expression. * sem_ch4.adb, sem_ch4.ads: New procedure Analyze_Quantified_Expression. * sem_ch5.adb, sem_ch5.ads: Analyze_Iteration_Scheme is public, for use in quantified expressions. * sem_res.adb: New procedure Resolve_Qualified_Expression. * sinfo.adb, sinfo.ads: New node N_Quantified_Expression * snames.ads-tmpl: New name Some. * sprint.adb: Output quantified_expression. 2010-10-19 Robert Dewar <dewar@adacore.com> * a-exexda.adb: Minor reformatting Minor code reorganization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165698 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/scn.adb')
-rw-r--r--gcc/ada/scn.adb17
1 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ada/scn.adb b/gcc/ada/scn.adb
index eb6a97810d0..fb38d225b26 100644
--- a/gcc/ada/scn.adb
+++ b/gcc/ada/scn.adb
@@ -472,9 +472,20 @@ package body Scn is
Token_Name := Name_Find;
if not Used_As_Identifier (Token) or else Force_Msg then
- Error_Msg_Name_1 := Token_Name;
- Error_Msg_SC ("reserved word* cannot be used as identifier!");
- Used_As_Identifier (Token) := True;
+
+ -- If "some" is made into a reseverd work in Ada2012, the following
+ -- check will make it into a regular identifer in earlier versions
+ -- of the language.
+
+ if Token = Tok_Some
+ and then Ada_Version < Ada_2012
+ then
+ null;
+ else
+ Error_Msg_Name_1 := Token_Name;
+ Error_Msg_SC ("reserved word* cannot be used as identifier!");
+ Used_As_Identifier (Token) := True;
+ end if;
end if;
Token := Tok_Identifier;