summaryrefslogtreecommitdiffstats
path: root/gcc/ada/a-cfhase.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-24 16:51:58 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-24 16:51:58 +0000
commit28a4283c747db61dedc1aaaec46de161351d3f35 (patch)
tree3a271858d673fb57c047135e5a838d33e1ee5af4 /gcc/ada/a-cfhase.ads
parent34e4634c639c5851505de84caf03374a9648570b (diff)
downloadppe42-gcc-28a4283c747db61dedc1aaaec46de161351d3f35.tar.gz
ppe42-gcc-28a4283c747db61dedc1aaaec46de161351d3f35.zip
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Global_Item): Emit the variable related checks concerning volatile objects only when SPARK_Mode is on. 2014-02-24 Robert Dewar <dewar@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): use Error_Msg_Ada_2012_Feature. 2014-02-24 Jose Ruiz <ruiz@adacore.com> * s-rident.ads (Profile_Info): For Ravenscar, the restrictions No_Local_Timing_Events and No_Specific_Termination_Handlers must be set, according to the Ravenscar profile definition in D.13(6/3). 2014-02-24 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Expression_Function): If this is a completion, freeze return type and its designated type if needed. 2014-02-24 Thomas Quinot <quinot@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Address): When moving initialization statements to a freeze entity, keep them under a single node (i.e. do not unwrap expressions with actions), and set the Initialization_Statements attribute again so that processing of a later pragma Import can still remove them. 2014-02-24 Claire Dross <dross@adacore.com> * a-cfdlli.adb, a-cfdlli.ads, a-cfhama.adb, a-cfhama.ads, a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads: Rename Left/Right to First_To_Previous/Current_To_Last. 2014-02-24 Thomas Quinot <quinot@adacore.com> * adaint.h (struct file_attributes): New component "error" (__gnat_error_attributes): Accessor for the above. * adaint.c (__gnat_error_attributes): New subprogram (__gnat_stat): Fix returned value (expect errno value) (__gnat_stat_to_attr): Add management of error component (set to stat errno value, except for missing files where it is set to 0, and exists is set to 0). * osint.ads (File_Attributes_Size): Update per change above, also clarify documentation. * s-filatt.ads: New file, binding to file attributes related functions. * Makefile.rtl (s-filatt): New runtime unit. * s-crtl.ads (strlen): Expose binding to GCC builtin (falls back to library function if not available on target). * s-os_lib.ads, s-os_lib.adb (Errno_Message): New subprogram. * s-oscons-tmplt.c (SIZEOF_struct_file_attributes, SIZEOF_struct_dirent_alloc): New constants. * Make-generated.in (s-oscons.ads): Now requires adaint.h. * a-direct.adb (Fetch_Next_Entry): Fix incorrect buffer sizes. Perform appropriate error checking if stat fails (do not just ignore existing files if stat fails) * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208078 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/a-cfhase.ads')
-rw-r--r--gcc/ada/a-cfhase.ads29
1 files changed, 17 insertions, 12 deletions
diff --git a/gcc/ada/a-cfhase.ads b/gcc/ada/a-cfhase.ads
index 058d4503e1d..4e54ef97832 100644
--- a/gcc/ada/a-cfhase.ads
+++ b/gcc/ada/a-cfhase.ads
@@ -48,8 +48,10 @@
-- There are three new functions:
-- function Strict_Equal (Left, Right : Set) return Boolean;
--- function Left (Container : Set; Position : Cursor) return Set;
--- function Right (Container : Set; Position : Cursor) return Set;
+-- function First_To_Previous (Container : Set; Current : Cursor)
+-- return Set;
+-- function Current_To_Last (Container : Set; Current : Cursor)
+-- return Set;
-- See detailed specifications for these subprograms
@@ -310,18 +312,21 @@ package Ada.Containers.Formal_Hashed_Sets is
-- they are structurally equal (function "=" returns True) and that they
-- have the same set of cursors.
- function Left (Container : Set; Position : Cursor) return Set with
+ function First_To_Previous (Container : Set; Current : Cursor) return Set
+ with
Global => null,
- Pre => Has_Element (Container, Position) or else Position = No_Element;
- function Right (Container : Set; Position : Cursor) return Set with
+ Pre => Has_Element (Container, Current) or else Current = No_Element;
+ function Current_To_Last (Container : Set; Current : Cursor) return Set
+ with
Global => null,
- Pre => Has_Element (Container, Position) or else Position = No_Element;
- -- Left returns a container containing all elements preceding Position
- -- (excluded) in Container. Right returns a container containing all
- -- elements following Position (included) in Container. These two new
- -- functions can be used to express invariant properties in loops which
- -- iterate over containers. Left returns the part of the container already
- -- scanned and Right the part not scanned yet.
+ Pre => Has_Element (Container, Current) or else Current = No_Element;
+ -- First_To_Previous returns a container containing all elements preceding
+ -- Current (excluded) in Container. Current_To_Last returns a container
+ -- containing all elements following Current (included) in Container.
+ -- These two new functions can be used to express invariant properties in
+ -- loops which iterate over containers. First_To_Previous returns the part
+ -- of the container already scanned and Current_To_Last the part not
+ -- scanned yet.
private
OpenPOWER on IntegriCloud