aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch13.ads
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2010-06-17 09:57:32 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2010-06-17 11:57:32 +0200
commit8a95f4e86791d06494bd5fc8b0da29b9651530fb (patch)
treeffaf92cdf6f090cddfad2f2f57c2f05d9ad2a9c8 /gcc/ada/sem_ch13.ads
parente1b871e93c547d7fe50bc5c30fb18c1bd3ba16da (diff)
downloadgcc-8a95f4e86791d06494bd5fc8b0da29b9651530fb.zip
gcc-8a95f4e86791d06494bd5fc8b0da29b9651530fb.tar.gz
gcc-8a95f4e86791d06494bd5fc8b0da29b9651530fb.tar.bz2
sem_intr.adb, [...]: Minor reformatting.
2010-06-17 Robert Dewar <dewar@adacore.com> * sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb, sem_eval.adb: Minor reformatting. Use Ekind_In. (Set_Slice_Subtype): Explicitly freeze the slice's itype at the point where the slice's actions are inserted. (Decompose_Expr): Account for possible rewriting of slice bounds resulting from side effects suppression caused by the above freezing, so that folding of bounds is preserved by such rewriting. 2010-06-17 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb (Get_Record_Representation_Clause): New function. * freeze.adb (Freeze_Record_Type): Add call to Check_Record_Representation_Clause. * sem_ch13.adb (Check_Record_Representation_Clause): New function (Analyze_Record_Representation_Clause): Split out overlap code into this new function. (Check_Component_Overlap): Moved inside Check_Record_Representation_Clause. * sem_ch13.ads (Check_Record_Representation_Clause): New function. From-SVN: r160892
Diffstat (limited to 'gcc/ada/sem_ch13.ads')
-rw-r--r--gcc/ada/sem_ch13.ads14
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ada/sem_ch13.ads b/gcc/ada/sem_ch13.ads
index 93587fd..b95eed6 100644
--- a/gcc/ada/sem_ch13.ads
+++ b/gcc/ada/sem_ch13.ads
@@ -38,9 +38,17 @@ package Sem_Ch13 is
procedure Adjust_Record_For_Reverse_Bit_Order (R : Entity_Id);
-- Called from Freeze where R is a record entity for which reverse bit
-- order is specified and there is at least one component clause. Adjusts
- -- component positions according to Ada 2005 AI-133. Note that this is only
- -- called in Ada 2005 mode. The Ada 95 handling for bit order is entirely
- -- contained in Freeze.
+ -- component positions according to either Ada 95 or Ada 2005 (AI-133).
+
+ procedure Check_Record_Representation_Clause (N : Node_Id);
+ -- This procedure completes the analysis of a record representation clause
+ -- N. It is called at freeze time after adjustment of component clause bit
+ -- positions for possible non-standard bit order. In the case of Ada 2005
+ -- (machine scalar) mode, this adjustment can make substantial changes, so
+ -- some checks, in particular for component overlaps cannot be done at the
+ -- time the record representation clause is first seen, but must be delayed
+ -- till freeze time, and in particular is called after calling the above
+ -- procedure for adjusting record bit positions for reverse bit order.
procedure Initialize;
-- Initialize internal tables for new compilation