diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-19 14:29:25 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-19 14:29:25 +0200 |
commit | a961aa79587ca417a9920cd2ba4df4d3144fd26d (patch) | |
tree | fbc3350cd46472344fa50199f9069aaab0f8bfc6 /gcc/ada/scn.adb | |
parent | 11c260d7cd8c3aaee5502f8d5ff192327b2a904d (diff) | |
download | gcc-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.adb | 17 |
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; |