aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/par.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2015-02-05 12:22:39 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2015-02-05 12:22:39 +0100
commitef2c20e73c8989e83863bdb05af0bf629faf5ff2 (patch)
tree8d9d3895dc4cbec40c32fe4e675a705399623c9c /gcc/ada/par.adb
parentc93f201145542240f9b197b17c06ddab696bbfd4 (diff)
downloadgcc-ef2c20e73c8989e83863bdb05af0bf629faf5ff2.zip
gcc-ef2c20e73c8989e83863bdb05af0bf629faf5ff2.tar.gz
gcc-ef2c20e73c8989e83863bdb05af0bf629faf5ff2.tar.bz2
015-02-05 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Add_Invariants): Don't assume invariant is standard Boolean. * sem_prag.adb (Analyze_Pragma, case Check): Don't assume condition is standard Boolean, it can be non-standard derived Boolean. 2015-02-05 Robert Dewar <dewar@adacore.com> * checks.adb (Enable_Range_Check): Disconnect attempted optimization for the case of range check for subscript of unconstrained array. 2015-02-05 Robert Dewar <dewar@adacore.com> * par-ch13.adb (With_Present): New function (Aspect_Specifications_Present): Handle WHEN in place of WITH (Get_Aspect_Specifications): Comment update. * par.adb: Comment updates. 2015-02-05 Robert Dewar <dewar@adacore.com> * errout.adb (Handle_Serious_Error): New setting of Fatal_Error. * frontend.adb (Frontend): New setting of Fatal_Error. * lib-load.adb (Create_Dummy_Package_Unit): New setting of Fatal_Error. (Load_Main_Source): New setting of Fatal_Error (Load_Unit): New setting of Fatal_Error. * lib-writ.adb (Add_Preprocessing_Dependency): New setting of Fatal_Error. (Ensure_System_Dependency): New setting of Fatal_Error. * lib.adb (Fatal_Error): New setting of Fatal_Error (Set_Fatal_Error): New setting of Fatal_Error. * lib.ads: New definition of Fatal_Error and associated routines. * par-ch10.adb (P_Compilation_Unit): New setting of Fatal_Error. * par-load.adb (Load): New setting of Fatal_Error. * rtsfind.adb (Load_RTU): New setting of Fatal_Error. * sem_ch10.adb (Analyze_Compilation_Unit): New setting of Fatal_Error. (Optional_Subunit): New setting of Fatal_Error. (Analyze_Proper_Body): New setting of Fatal_Error. (Load_Needed_Body): New setting of Fatal_Error. 2015-02-05 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Call): If the function being called has out parameters do not check for language version if the function comes from a predefined unit, as those are always compiled in Ada 2012 mode. 2015-02-05 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Process_Full_View): Verify that the full view of a type extension must carry an explicit limited keyword if the partial view does (RM 7.3 (10.1)). From-SVN: r220446
Diffstat (limited to 'gcc/ada/par.adb')
-rw-r--r--gcc/ada/par.adb25
1 files changed, 15 insertions, 10 deletions
diff --git a/gcc/ada/par.adb b/gcc/ada/par.adb
index 83f320b..76f6e53 100644
--- a/gcc/ada/par.adb
+++ b/gcc/ada/par.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2015, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -951,6 +951,9 @@ function Par (Configuration_Pragmas : Boolean) return List_Id is
-- permitted). Note: this routine never checks the terminator token
-- for aspects so it does not matter whether the aspect specifications
-- are terminated by semicolon or some other character.
+ --
+ -- Note: This function also handles the case of WHEN used where WITH
+ -- was intended, and in that case posts an error and returns True.
procedure P_Aspect_Specifications
(Decl : Node_Id;
@@ -960,15 +963,17 @@ function Par (Configuration_Pragmas : Boolean) return List_Id is
-- argument is False, the scan pointer is left pointing past the aspects
-- and the caller must check for a proper terminator.
--
- -- P_Aspect_Specifications is called with the current token pointing to
- -- either a WITH keyword starting an aspect specification, or an
- -- instance of the terminator token. In the former case, the aspect
- -- specifications are scanned out including the terminator token if it
- -- it is a semicolon, and the Has_Aspect_Specifications flag is set in
- -- the given declaration node. A list of aspects is built and stored for
- -- this declaration node using a call to Set_Aspect_Specifications. If
- -- no WITH keyword is present, then this call has no effect other than
- -- scanning out the terminator if it is a semicolon.
+ -- P_Aspect_Specifications is called with the current token pointing
+ -- to either a WITH keyword starting an aspect specification, or an
+ -- instance of what shpould be a terminator token. In the former case,
+ -- the aspect specifications are scanned out including the terminator
+ -- token if it it is a semicolon, and the Has_Aspect_Specifications
+ -- flag is set in the given declaration node. A list of aspects
+ -- is built and stored for this declaration node using a call to
+ -- Set_Aspect_Specifications. If no WITH keyword is present, then this
+ -- call has no effect other than scanning out the terminator if it is a
+ -- semicolon (with the exception that it detects WHEN used in place of
+ -- WITH).
-- If Decl is Error on entry, any scanned aspect specifications are
-- ignored and a message is output saying aspect specifications not