diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-19 12:29:25 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-19 12:29:25 +0000 |
commit | 39d4bf682cb00d3b73d914b9d4d2563458b3e6be (patch) | |
tree | fbc3350cd46472344fa50199f9069aaab0f8bfc6 /gcc/ada/scn.adb | |
parent | 1a20da3ba9f93be5c9be523d86a3b9d3d2f7de35 (diff) | |
download | gcc-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.adb | 17 |
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; |