aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/scn.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-10-19 14:29:25 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-10-19 14:29:25 +0200
commita961aa79587ca417a9920cd2ba4df4d3144fd26d (patch)
treefbc3350cd46472344fa50199f9069aaab0f8bfc6 /gcc/ada/scn.adb
parent11c260d7cd8c3aaee5502f8d5ff192327b2a904d (diff)
downloadgcc-a961aa79587ca417a9920cd2ba4df4d3144fd26d.zip
gcc-a961aa79587ca417a9920cd2ba4df4d3144fd26d.tar.gz
gcc-a961aa79587ca417a9920cd2ba4df4d3144fd26d.tar.bz2
[multiple changes]
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. From-SVN: r165698
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 eb6a978..fb38d22 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;