aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/par.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-02-19 12:02:48 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2014-02-19 12:02:48 +0100
commitadb252d824eac519413d0114a813543391c10592 (patch)
treec5da7428ceb37eac13e1c97e08e78fc4ac813549 /gcc/ada/par.adb
parenta03670050f7aa17d56e3c2f873612343c883f980 (diff)
[multiple changes]
2014-02-19 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_Min_Max_Attribute): Use Insert_Declaration (Expand_Min_Max_Attribute): Use Matching_Standard_Type. * exp_ch4.adb (Expand_N_Expression_With_Actions): Remove special handling for the case of Modify_Tree_For_C, this approach did not work. * exp_util.adb (Matching_Standard_Type): New function (Side_Effect_Free): New top level functions (from Remove_Side_Effects). * exp_util.ads (Side_Effect_Free): New top level functions (moved from body). * sinfo.ads: Minor comment updates. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Simple_Function_Return): If return type is unconstrained and uses the secondary stack, mark the enclosing function accordingly, to ensure that the value is not prematurely removed. 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * par.adb Alphabetize the routines in Par.Sync. (Resync_Past_Malformed_Aspect): New routine. * par-ch13.adb (Get_Aspect_Specifications): Alphabetize local variables. Code and comment reformatting. Detect missing parentheses on aspects [Refined_]Global and [Refined_]Depends with a non-null definition. * par-sync.adb: Alphabetize all routines in this separate unit. (Resync_Past_Malformed_Aspect): New routine. From-SVN: r207890
Diffstat (limited to 'gcc/ada/par.adb')
-rw-r--r--gcc/ada/par.adb31
1 files changed, 18 insertions, 13 deletions
diff --git a/gcc/ada/par.adb b/gcc/ada/par.adb
index 93f5bb537bd..7de8458d58b 100644
--- a/gcc/ada/par.adb
+++ b/gcc/ada/par.adb
@@ -1079,6 +1079,10 @@ function Par (Configuration_Pragmas : Boolean) return List_Id is
-- advanced to the next vertical bar, arrow, or semicolon, whichever
-- comes first. We also quit if we encounter an end of file.
+ procedure Resync_Cunit;
+ -- Synchronize to next token which could be the start of a compilation
+ -- unit, or to the end of file token.
+
procedure Resync_Expression;
-- Used if an error is detected during the parsing of an expression.
-- It skips past tokens until either a token which cannot be part of
@@ -1087,6 +1091,11 @@ function Par (Configuration_Pragmas : Boolean) return List_Id is
-- current parenthesis level (a parenthesis level counter is maintained
-- to carry out this test).
+ procedure Resync_Past_Malformed_Aspect;
+ -- Used when parsing aspect specifications to skip a malformed aspect.
+ -- The scan pointer is positioned next to a comma, a semicolon or "is"
+ -- when the aspect applies to a body.
+
procedure Resync_Past_Semicolon;
-- Used if an error occurs while scanning a sequence of declarations.
-- The scan pointer is positioned past the next semicolon and the scan
@@ -1094,30 +1103,26 @@ function Par (Configuration_Pragmas : Boolean) return List_Id is
-- starts a declaration (but we make sure to skip at least one token
-- in this case, to avoid getting stuck in a loop).
- procedure Resync_To_Semicolon;
- -- Similar to Resync_Past_Semicolon, except that the scan pointer is
- -- left pointing to the semicolon rather than past it.
-
procedure Resync_Past_Semicolon_Or_To_Loop_Or_Then;
-- Used if an error occurs while scanning a sequence of statements. The
-- scan pointer is positioned past the next semicolon, or to the next
-- occurrence of either then or loop, and the scan resumes.
- procedure Resync_To_When;
- -- Used when an error occurs scanning an entry index specification. The
- -- scan pointer is positioned to the next WHEN (or to IS or semicolon if
- -- either of these appear before WHEN, indicating another error has
- -- occurred).
-
procedure Resync_Semicolon_List;
-- Used if an error occurs while scanning a parenthesized list of items
-- separated by semicolons. The scan pointer is advanced to the next
-- semicolon or right parenthesis at the outer parenthesis level, or
-- to the next is or RETURN keyword occurrence, whichever comes first.
- procedure Resync_Cunit;
- -- Synchronize to next token which could be the start of a compilation
- -- unit, or to the end of file token.
+ procedure Resync_To_Semicolon;
+ -- Similar to Resync_Past_Semicolon, except that the scan pointer is
+ -- left pointing to the semicolon rather than past it.
+
+ procedure Resync_To_When;
+ -- Used when an error occurs scanning an entry index specification. The
+ -- scan pointer is positioned to the next WHEN (or to IS or semicolon if
+ -- either of these appear before WHEN, indicating another error has
+ -- occurred).
end Sync;
--------------